php导入CSV文件:
$line_number = 0;
$handle = fopen("1.xls","r");
while ($data = fgetcsv ($handle, 100000, ",")) {
if($line_number == 0){
$line_number++;
continue;
}
//z这样就可以去掉表头的那一行
for ($i = 0; $i count($data); $i++) {
$ziduan = $data[$i];
header( "Cache-Control: public" );
header( "Pragma: public" );
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=txxx.csv");
header('Content-Type:APPLICATION/OCTET-STREAM');
ob_start();
$file_str="";
$mysqli= new mysqli('localhost','root','','test');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
$sql='select * ?from messages';
$result=$mysqli-query($sql);
if($result){
while ($row = mysqli_fetch_assoc($result)){
$file_str.= $row['id'].','.$row['title'].','.$row['name'].','."'{$row['telephone']}'".','.$row['qq'].','.$row['email'].','.str_ireplace(',',',',$row['content']).','.$row['retime']."\n";
}else{
echo "nonono!!!";
ob_end_clean();
echo $header_str;
echo $file_str;
php
header("Content-Type: application/vnd.ms-excel");
header("Expires:0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=文件名称");
$row = $db - ... ... # 这里可以进行数据库的操作,记住:ob_start();前不要有输出
(一)phpexcel文件导出:
步骤1,引入文件require APPPATH.'/libraries/PHPExcel.PHP';
//填充表头信息
for($i = 0;$i count($tableheader_all);$i++) {
$objPHPExcel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
//上一行中"$letter[$i]1"表示第"1"行第"$i"列
$j = 0;
foreach ($tmp as $key=$val ){
$j++;
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="数据导出_词云图.xls"');
header("Content-Transfer-Encoding:binary");
$write-save('php://output');
(一)CSV文件导出:
csv文件导出最令人头疼的问题就是编码问题,现在分享一下我的经验
首先看服务器是Linux的还是windows的 如果是windows的服务器那么编码问题只能借助于mb_convert_encoding()或者是iconv两个函数相互转换中文编码
下面来说csv导出步骤:
$result = mysql_query("select * from student order by id asc");
$str = "姓名,性别,年龄\n";
while($row=mysql_fetch_array($result)){
$str .= $name.",".$sex.",".$row['age']."\n"; //用引文逗号分开
$filename = date('Ymd').'.csv'; //设置文件名
export_csv($filename,$str); //导出
function export_csv($filename,$data) {
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $data;
/**
*?Created?by?PhpStorm.
*?User:?chenyanphp@qq.com
*/
//?头部标题
$csv_header?=?['名称','性别','年龄'];
//?内容
$csv_body?=?[
];
*?开始生成
*?1.?首先将数组拆分成以逗号(注意需要英文)分割的字符串
*?常量PHP_EOL
//?打开文件资源,不存在则创建
$fp?=?fopen('test.csv','a');
//?处理头部标题
$header?=?implode(',',?$csv_header)?.?PHP_EOL;
//?处理内容
$content?=?'';
foreach?($csv_body?as?$k?=?$v)?{
$content?.=?implode(',',?$v)?.?PHP_EOL;
//?拼接
$csv?=?$header.$content;
//?写入并关闭资源
fwrite($fp,?$csv);
fclose($fp);
以上就是土嘎嘎小编为大家整理的php导出csv封装相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!