PHP读写Excel
PHP读写Excel
PHP读写Excel可以通过第三方库phpexcel比较优雅地完成,由于PHP对于字符串处理的优势,读写PHP非常方便。
库导入
这里使用composer包管理工具,以下是配置信息
{
"name": "",
"description": "test the excel",
"require": {
"PHPExcel/PHPExcel":"*"
}
}
配置文件写完后composer update即可完成配置
使用样例
<?php
// include "./vendor/autoload.php";
include "./vendor/phpexcel/phpexcel/Classes/PHPExcel.php";
$objPHPExcel = new PHPExcel(); #创建Excel实例
#添加数据(指定位置修改数据)
$objPHPExcel->setActiveSheetIndex(0); //设置激活表格
#设置单元格数据
$objPHPExcel->getActiveSheet()->setCellValue("A1",'Hello');
$objPHPExcel->getActiveSheet()->setCellValue('A2', true);
$objPHPExcel->getActiveSheet()->setCellValue('A3', false);
$objPHPExcel->getActiveSheet()->setCellValue('B2', 'world!');
$objPHPExcel->getActiveSheet()->setCellValue('B3', 2);
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Hello');
$objPHPExcel->getActiveSheet()->setCellValue('D2', 'world!');
#循环方式添加数据
for($i=1; $i<200; $i++)
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$i);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i,"你好");
}
#数据写入文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('test.xlsx');
#读取数据
$objReader = PHPExcel_IOFactory::createReaderForFile("test.xlsx");
$objExcel = $objReader->load('test.xlsx');
$objExcel->setActiveSheetIndex(0); //选择数据表格
var_dump($objExcel->getActiveSheet()->getCell('B1')->getValue());# string(6) "你好"
?>
注意
在浏览器上运行时会报错
Warning: unlink(test.xlsx): Permission denied ······
Warning: ZipArchive::close(): Failure to create temporary file: Permission denied in ······
Fatal error: Uncaught Exception: Could not close zip file test.xlsx. in ······
因为服务器没有权限向客户端读写文件(否则简直太可怕了)。因此该应用要在命令行中执行才可以运行
php main.php
这是一种CLI应用。