之前看到过好多关于PHP导出Excel的文章,自己也通过不少方法实现过,
例如,echo一个Table,然后将header修改为Excel即可。
其实在众多方法中感觉Pear中的Spreadsheet_Excel_Writer很是好用。
关于Spreadsheet_Excel_Writer的安装本文不予介绍,可通过Google找到
答案:) 也可参考: http://pear.php.net/package/Spreadsheet_Excel_Writer/download
<?php
//调用Writer.php
require_once 'Spreadsheet/Excel/Writer.php';
//创建Workbook
$workbook = new Spreadsheet_Excel_Writer();
//定义导出Excel文件名
$workbook->send('test.xls');
//创建Worksheet
$worksheet =& $workbook->addWorksheet('My first worksheet');
//设置字体大小
$format_column = & $workbook->addformat(array('Size'=>9,'Bold'=>1));
//数据写入
//标题行(第一行)
$worksheet->write(0, 0, 'Name', $format_column);
$worksheet->write(0, 1, 'Age', $format_column);
//第一个人(第二行)
$worksheet->write(1, 0, 'John Smith');
$worksheet->write(1, 1, 30);
//第二个人(第三行)
$worksheet->write(2, 0, 'Johann Schmidt');
$worksheet->write(2, 1, 31);
//第三个人(第四行)
$worksheet->write(3, 0, 'Juan Herrera');
$worksheet->write(3, 1, 32);
//关闭Workbook
$workbook->close();
?>
-------------------me
直接导出,会乱码
保存再下载,就正常
增加
$workbook->setVersion(8);
$worksheet->setInputEncoding("utf-8");
再将中文转为UTF8
$lqzy=iconv("GBK","UTF-8",$r['lqzy']);
因为页面本身是gb2312
如果页面本身是utf8,应该不用转,感觉excel只支持utf8
-------------------------------
1.在根目录下建立文件夹,名为”Spreadsheet\Excel
2.在http://pear.php.net/package/PEAR/download下载PEAR,然后安装:也可执行PHP目录里的go-pear.bat
3.把 PEAR解压后的pear.php 复制到 “Spreadsheet\Excel” 路径下
4.在http://pear.php.net/package/Spreadsheet_Excel_Writer/download下载Spreadsheet_Excel_Writer
5.在http://pear.php.net/package/OLE/download下载 OLE-1.0.0RC1.gz ,安装:cmd进入php目录,我的是D:\php 运行命令“OLE-1.0.0RC1 ”。
6.把Spreadsheet_Excel_Writer 中的“Writer.php” 和 “Writer” 文件夹复制到“Spreadsheet/Excel/” 路径下
7.把OLE-1.0.0RC1 中的 “OLE.php” 复制到“Spreadsheet/Excel/” 路径下,“PPS.php” 和 “PPS” 文件夹复制到“Spreadsheet/Excel/OLE路径下
8.把Console、System.php都复制到Spreadsheet\Excel路径下