一、安装
-
安装composer.exe
从github下载的phpspreadsheet并不全,需要通过composer生成必要的目录和文件。
composer程序到 https://getcomposer.org/ 下载exe文件安装,安装完成后进入cmd界面输入composer命令测试是否安装正常。 -
生成目录及文件
方法一:直接安装
根据网络情况,执行等待时间有所不同。
//在cmd界面,切换到待安装目录,输入命令 composer require phpoffice/phpspreadsheet 回车执行。
d:/php/phpspreadsheet/ composer require phpoffice/phpspreadsheet
方法二:下载phpspreadsheet最新版后安装
先在此处 https://github.com/PHPOffice/PhpSpreadsheet 下载最新版本(也可以了解一下PHPOffice的其它产品),然后在cmd界面,定位到phpspreadsheet的composer.json所在目录,输入composer dump-autoload,安装完成。
d:/php/phpspreadsheet/ composer dump-autoload
参考网址:https://blog.csdn.net/wd2011063437/article/details/79480968
但实际使用发现还是选择方法一安装最完整,如果使用方法二,目前这个版本将缺失psr/simple-cache模块,最终的目录及文件与方法一也不同。
二、读取
关键代码
//文件路径
$filePath = 'd:/1.xlsx';
//文件是否存在
if (!file_exists($filePath)) {
echo '文件不存在!';
return FALSE;
}
//获得文件类型
$inputFileType = IOFactory::identify($filePath);
//创建该文件类型对象
$objRead = IOFactory::createReader($inputFileType);
//判断文件是否可读
if (!$objRead->canRead($filePath)) {
echo '不支持该文件!';
return FALSE;
}
//只读,提高效率
$objRead->setReadDataOnly(true);
//建立该表格对象
$objSheet = $objRead->load($filePath);
//获取指定的sheet表
$currSheet = $objSheet->getSheet(0);
//表格内容直接转换成数组
var_dump($currSheet->toArray());
参考网址:
三、录入
php插入大量数据,可以考虑以下写法
//控制在2万记录以内
insert into tableName (a,b,c) Values (a1,b1,c1),(a2,b2,c3),(a3,b3,c3)
打开mysql的配置文件,my.ini文件,并找到:max_allowed_packet项进行修改;
参考网址: