导航:首页 > 编程语言 > php导出excel中文

php导出excel中文

发布时间:2022-09-25 11:35:56

php如何导出Excel文件

昨天项目里有个新需求,客户希望把一些数据能导出成为Excel表格,刚开始用PHP原生输入Excel表格,发现效果不是很理想,于是找到一个比较着名的库:PHPExcel。下面是一个简单的demo,分享给大家,希望可以帮到有同样需求的朋友。

1.网络:phpexcel,结果如图所示,点击第一个结果;
PHP导出Excel,PHP输入Excel

2.进入官网后,找到右边的download按钮,下载,下载完成的是一个压缩文件,解压放到你的项目目录里,根据个人情况而定;
PHP导出Excel,PHP输入Excel
PHP导出Excel,PHP输入Excel

3.因为这里给大家做演示,所以建了一个测试文件,有点基础的都能明白是怎么回事,下面进入代码;
PHP导出Excel,PHP输入Excel

4.

//引入PHPExcel库文件(路径根据自己情况)

include './phpexcel/Classes/PHPExcel.php';

//创建对象

$excel = new PHPExcel();

//Excel表格式,这里简略写了8列

$letter = array('A','B','C','D','E','F','F','G');

//表头数组

$tableheader = array('学号','姓名','性别','年龄','班级');

//填充表头信息

for($i = 0;$i < count($tableheader);$i++) {

$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");

}

PHP导出Excel,PHP输入Excel

5.

//表格数组

$data = array(

array('1','小王','男','20','100'),

array('2','小李','男','20','101'),

array('3','小张','女','20','102'),

array('4','小赵','女','20','103')

);

//填充表格信息

for ($i = 2;$i <= count($data) + 1;$i++) {

$j = 0;

foreach ($data[$i - 2] as $key=>$value) {

$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");

$j++;

}

}

PHP导出Excel,PHP输入Excel

6.

//创建Excel输入对象

$write = new PHPExcel_Writer_Excel5($excel);

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="testdata.xls"');

header("Content-Transfer-Encoding:binary");

$write->save('php://output');

PHP导出Excel,PHP输入Excel

7.打开页面,刷新的时候会弹出对话框,让你选择文件保存路径和文件名称,我直接放在了桌面上,如图所示;
PHP导出Excel,PHP输入Excel
PHP导出Excel,PHP输入Excel

8.打开表格后,数据和格式跟代码中的一致,说明PHP导出的Excel是正确的。如果出现错误,检查一下你的表格数组和数据数组吧。
PHP导出Excel,PHP输入Excel

② php excel表格导出乱码问题应该怎么解决呢

记录一下自己的做法.

将php脚本文件的编码用notepad++修改为ANSI(windows下的编码格式)

数据库查询时先使用mysqli查询set names utf8

接着iconv函数将编码由utf8转换为gbk.excel文件导出中文则不会乱码

③ php excel reader2.21导出excel时中文出现乱码如何解决

全场都使用UTF-8编码,一般不会出问题的

④ php导出数据到excel 格式设置

$name = iconv("utf-8","gbk",'二级学院列表');;
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$name.xls");

//第三行的 name.xls这个xls可以自己改,不过大数据的导出建议使用专业的类,如phpexcel.

⑤ 如何使用PHP导出csv和excel文件

(一)phpexcel文件导出:
步骤1,引入文件require APPPATH.'/libraries/PHPExcel.PHP';
步骤2, 实例化PHPEXCEL对象 $objPHPExcel=new PHPExcel();
步骤3, 设置表头 $column = array('A','B','C'); $line = array('词语','频次','词性');
//填充表头信息
for($i = 0;$i < count($tableheader_all);$i++) {
$objPHPExcel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
//上一行中"$letter[$i]1"表示第“1”行第“$i”列
}
步骤4, 填充数据
for ($i = 2;$i <= count($data) + 1;$i++) {//因为内容是从第二行开始的,所以i=2表示从第二行开始填充数据
$j = 0;
foreach ($tmp as $key=>$val ){
$objPHPExcel->getActiveSheet()->setCellValue("$letter[$j]$i",$data[$i-2][$val]); //数据是从第一条开始但是i的初值是2所以想从第一条开始应该是$data[$i-2]开始
$j++;
}
}
步骤5,写进excel中并输出
$write = new PHPExcel_Writer_Excel5($objPHPExcel);
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两个函数相互转换中文编码
如果服务器是linux的 那么很简单 utf-8: setlocale(LC_ALL, ‘en_US.UTF-8′); 简体中文:setlocale(LC_ALL, ‘zh_CN');
下面来说csv导出步骤:

$result = mysql_query("select * from student order by id asc");
$str = "姓名,性别,年龄\n";
$str = iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){
$name = iconv('utf-8','gb2312',$row['name']); //中文转码
$sex = iconv('utf-8','gb2312',$row['sex']);
$str .= $name.",".$sex.",".$row['age']."\n"; //用引文逗号分开
}
$filename = date('Ymd').'.csv'; //设置文件名
export_csv($filename,$str); //导出
要将数据导出到本地即下载,需要修改header信息,代码如下:
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;
}

⑥ PHP如何导出当前页面中的表格至Excel

1.
这属于php的技术;
2.
php可以用PHPExcel直接导出成excel文件;
代码如下:
require_once("../lib/excelcreator.class.php");
$myxls
=
new
ExcelCreator
("中文Excel");
$aTableHead
=
'

<Row
ss:AutoFitHeight="0">

<Cell><Data
ss:Type="String">Name3</Data></Cell>

<Cell><Data
ss:Type="String">Surname3</Data></Cell>

</Row>';
$aTableBody
=
'

<Row
ss:AutoFitHeight="0">

<Cell><Data
ss:Type="String">Schwarz3</Data></Cell>

<Cell><Data
ss:Type="String">Oliver3</Data></Cell>

</Row>';
$aTableBottom
=
'

<Row
ss:AutoFitHeight="0">

<Cell><Data
ss:Type="String">123</Data></Cell>

<Cell><Data
ss:Type="String">Peter3</Data></Cell>

</Row>';
$workSheet
=
$myxls->createWorkSheet
(
"中文sheet1",
$aTableHead,
$aTableBody,
$aTableBottom
);
echo
$myxls->createExcel
(
$workSheet
);

⑦ 大哥:php 导出到excel中文问号怎么解决啊

使用utf-8字符集。不行在追问。
excel用的就是utf8。
如果你需要存到数据库里,是gbk的话,我可以告诉你怎么操作。我这边暂时没有源码

⑧ php 导出excel 是什么意思

分为两种:
1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。修改这种文件后再保存,通常会提示你是否要转换成Excel文件。
优点:简单。
缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。
2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。
如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312:
$yourStr = mb_convert_encoding("gb2312", "UTF-8", $yourStr);

⑨ php ci 怎样导出excel

php导出有phpexcel类。网络直接可以找到官网下载。

header("Content-type:text/html;charset=utf-8");
require_once'./phpexcel/PHPExcel.php';//引入phpexcel
$phpexcel=newPHPExcel();
//设置表头
$phpexcel->setActiveSheetIndex(0)
->setCellValue('A1','序号')
->setCellValue('B1','姓名')
->setCellValue('C1','班级')
->setCellValue('D1','成绩');
//标签名
$phpexcel->getActiveSheet()->setTitle('会员报名表');

//使用第一个表
$phpexcel->setActiveSheetIndex(0);

$objWriter=newPHPExcel_Writer_Excel5($phpexcel);

//查询到的数据源
$list=D('roster_enroll')->select();

foreach($listas$key=>$value){
//表格是从2开始的因为上面还有表头
$i=$key+2;
$phpexcel->getActiveSheet()->setCellValue('A'.$i,$value['uname']);//这里是设置A1单元格的内容
$phpexcel->getActiveSheet()->setCellValue('B'.$i,$value['phone']);////这里是设置B1单元格的内容
$phpexcel->getActiveSheet()->setCellValue('C'.$i,$value['class']);////这里是设置C1单元格的内容
$phpexcel->getActiveSheet()->setCellValue('D'.$i,$value['souce']);////这里是设置D1单元格的内容
//以此类推,可以设置CDEFG看你需要了。
}
$filename='./'.time().'.xls';
$objWriter->save($filename);

效果如下:

⑩ php 导出excel

不知道你那边什么情况,贴段我的导出代码,你参考吧

$objPHPExcel=newPHPExcel();

//获取学校列表
$schools=$this->excelio->getSchoolList();
//处理Excel里的数据,横着取数据
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1','学校id')
->setCellValue('B1','学校名称')
->setCellValue('C1','学校类型')
->setCellValue('D1','市')
->setCellValue('E1','区');
$i=2;
foreach($schoolsas$school){
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i,$school->id)
->setCellValue('B'.$i,$school->name)
->setCellValue('C'.$i,$school->type)
->setCellValue('D'.$i,$school->city)
->setCellValue('E'.$i,$school->district);
$i++;
}
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type:application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="学校列表'.date("Y/m/d").'.xls"');
header('Cache-Control:max-age=0');
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
$objWriter->save('php://output');
阅读全文

与php导出excel中文相关的资料

热点内容
js项目提成计算器程序员 浏览:940
pdf光子 浏览:832
自拍软件文件夹名称大全 浏览:325
程序员留学移民 浏览:49
梁中间部位箍筋加密区 浏览:117
频谱分析pdf 浏览:750
乐2怎么升级安卓70 浏览:172
java中获取日期 浏览:506
单片机74hc245 浏览:272
美国历史上的总统pdf 浏览:751
程序员脱单实验室靠不靠谱 浏览:460
php中间四位手机号 浏览:871
永旺app怎么样了 浏览:518
压缩空气流量计算软件 浏览:651
智慧聊天app怎么激活 浏览:925
一加换机备份到哪个文件夹 浏览:737
支撑pdf 浏览:418
java空文件夹删除 浏览:588
安卓9跟81有什么区别 浏览:914
n1蓝宝书pdf 浏览:245