求关于php excel导入大数据到mysql的解决办法

如题,字段有40个,需要导入的EXCEL数据不到5万条。
有没有好的解决方法使用php 将excel导入到mysql数据库。
求php代码的实现步骤。

下载 PHPExcel
    

require_once( './PHPExcel/IOFactory.php');
$filePath = 'D:/xxx.xlsx'; //excel 文件名 
$objReader = new PHPExcel_Reader_Excel2007();  //具体查看(Documentation/Examples/Reader/exampleReader01.php)
$objPHPExcel = $objReader->load($filePath);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$insql = 'insert into 表名(x,x,x) valeus';
//遍历数组 $sheetData
//如果有标题 先删除 unset($sheetData[1]);
foreach($sheetData as $k => $data){
    $insql .= '('.$data['A'].','.$data['B'].','.$data['C'].'),';
    //一次插入100条数据  减少数据库压力
    if(($k+1 / 100) == 0){
        $insql = rtrim($insql,',').';'; //将最后的逗号替换成分好
        //插入数据库 并且重置 字符串 $insql  
        //或者保存到文件中 利用source 命令插入数据库
    }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-07

    使用PHPExcel类读取excel文件到数组中

    遍历数组写入mysql

第2个回答  2014-04-12
可以使用PHPExcel,PHPExcel是一个php制作的工具,能够读取和生成excel文件,功能非常丰富,除了基本的读取和生成之外,还可以设定单元格、文字等的格式、插入图片。
它的功能很多,具体的用法可以查看它的帮助文档,里面解释很详细,但是都是英文的。
网址:http://phpexcel.codeplex.com/
第3个回答  2019-06-14
问题原因: 模型数据过大:虽然Excel文件本身不大可能不到1M,但是对于超过10个的sheet页,以及每个页有大量的列表,生成的JSON模型可能达到几个M,以大连行政平台的费用分摊为例,JSON模型达6M;
解决方法,需要设置几个关口: (1)使用tomcat服务器,tomcat对于前台发送而来的ajax post请求有最大值限制,一般默认为2M,所以需要maxPostSize=“0”
(2)如果使用mysql数据库,mysql数据库自身对于客户端传递而来的package包也有限制,需要登录mysql后台,设置max_allowed_packet,默认是1M set global max_allowed_packet = 210241024*10; // 设置为20M
(3)对于mysql数据库中的form_templete表中的content字段必须是mediumtext 或者longtext,否则也会出现无法插入的问题
具体可参考东软平台产品官网,https://platform.neusoft.com/
相似回答