PHP读取Excel 之 Spreadsheet_Excel_Reader和Writer
2012-07-03 17:28
826 查看
之前看到过好多关于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();
?>
复制代码
效果图:
当然,Spreadsheet_Excel_Writer的设置远远不止这些,详细介绍请参考:
http://pear.php.net/package/Spreadsheet_Excel_Writer/docs
和Spreadsheet_Excel_Writer类似,Spreadsheet_Excel_Reader是用来读取Excel内容的工具。
可以方便的将Excel数据导入到数据或者其他用途。
如下代码:
<?php
//调用Reader
require_once 'Spreadsheet/Excel/Reader/reader.php';
//创建 Reader
$data = new Spreadsheet_Excel_Reader();
//设置文本输出编码
$data->setOutputEncoding('GB2312');
//读取Excel文件
$data->read("c:\test.xls");
//$data->sheets[0]['numRows']为Excel行数
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//$data->sheets[0]['numCols']为Excel列数
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
//显示每个单元格内容
echo $data->sheets[0]['cells'][$i][$j];
}
}
?>
复制代码
另,由于日期型的特殊性,在取值时可能会产生错误,可将Excel单元格类型设为Text,将日期以文本形式读取,如需日期型字符再通过PHP对其进行处理即可(strtotime()结合date())。
其实在众多方法中感觉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();
?>
复制代码
效果图:
当然,Spreadsheet_Excel_Writer的设置远远不止这些,详细介绍请参考:
http://pear.php.net/package/Spreadsheet_Excel_Writer/docs
和Spreadsheet_Excel_Writer类似,Spreadsheet_Excel_Reader是用来读取Excel内容的工具。
可以方便的将Excel数据导入到数据或者其他用途。
如下代码:
<?php
//调用Reader
require_once 'Spreadsheet/Excel/Reader/reader.php';
//创建 Reader
$data = new Spreadsheet_Excel_Reader();
//设置文本输出编码
$data->setOutputEncoding('GB2312');
//读取Excel文件
$data->read("c:\test.xls");
//$data->sheets[0]['numRows']为Excel行数
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//$data->sheets[0]['numCols']为Excel列数
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
//显示每个单元格内容
echo $data->sheets[0]['cells'][$i][$j];
}
}
?>
复制代码
另,由于日期型的特殊性,在取值时可能会产生错误,可将Excel单元格类型设为Text,将日期以文本形式读取,如需日期型字符再通过PHP对其进行处理即可(strtotime()结合date())。
相关文章推荐
- PHP读取Excel 之 Spreadsheet_Excel_Reader
- PHP读取Excel 之 Spreadsheet_Excel_Reader
- PHP读取Excel 之 Spreadsheet_Excel_Reader
- php 5.4 使用 Spreadsheet_Excel_Writer 导出excel
- php+phpspreadsheet读取Excel数据存入mysql
- PHP Excel类Spreadsheet_Excel_Writer简单使用
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP导出Excel 之 Spreadsheet_Excel_Writer
- PHP Excel类Spreadsheet_Excel_Writer 导出UTF8中文乱码的解决方法。
- 如何正确运用PHP Spreadsheet_Excel_Writer
- 使用php-excel-reader读取excel文件
- php读取EXCEL文件 php excelreader读取excel文件
- php读取excel类——PHP-ExcelReader
- php-excel-reader-2.21 读取excel文件的基本用法
- phpexcel 读取含多个sheet的excel,将从数据库中检索出的数据分别写入该excel不同的sheet中 并导出该excel
- PhpSpreadsheet生成Excel时实现单元格自动换行
- PHP利用phpExcelReader读取Excel错误总结