TP3.2加载外部PHPexcel类,实现导入和导出

Posted 好好耕耘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP3.2加载外部PHPexcel类,实现导入和导出相关的知识,希望对你有一定的参考价值。

导入:

1、将下载好的phpexcel文件放到libray/Org/Uti/文件夹下,将PHPEXCEL.PHP改为PHPEXCEL.class.php

2、导入类文件

代码:

import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Reader.Excel5");

3、配置

代码:

$objReader = \\PHPExcel_IOFactory::createReader(\'Excel5\');//配置成2003版本,因为office版本可以向下兼容
$objPHPExcel = $objReader->load($file,$encode=\'utf-8\');//$file 为解读的excel文件

4、解读表格

代码:

$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数

5、填入数据库

代码:

for($j=2;$j<=$highestRow;$j++)
{
$a = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();//白天司机姓名列
$b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//晚上司机姓名列
    if(!is_null($a)){
        $data[\'driver\'] = $a;
       $res = M(\'carcount_user\')->data($data)->add();
     }
}

if($res){
      $this->success(\'填入数据库表完成!\');
}

导出:

1、

放在vendor文件夹下不用import导入,实例化即可,注意new 后要使用\\

代码:

 

vendor(\'PHPExcel\');
$objExcel = new \\PHPExcel();
$objWriter = \\PHPExcel_IOFactory::createWriter($objExcel, \'Excel5\');

2、设置表头

$objExcel->getActiveSheet()->setCellValue(\'A1\',\'司机\');

3、填入数据

$count = count($driver);//$driver 为数据库表取出的数据
for ($i = 2; $i <= $count+1; $i++) {
  $objExcel->getActiveSheet()->setCellValue(\'A\' . $i, $driver[$i-2][\'driver\']); 
}

4、输出

$objExcel->setActiveSheetIndex(); 
header(\'Content-Type: applicationnd.ms-excel\'); 
header(\'Content-Disposition: attachment;filename="test.xls"\'); 
header(\'Cache-Control: max-age=0\'); 

$objWriter->save(\'php://output\'); 
exit;

总结:

PHPEXCEL相比reader功能多,bug少,在和TP搭配时要讲文件放在vendor/(实例化即可)或者org/uti/(用import导入)下,导入时关键函数为:getActiveSheet(),getCell("D".$j),getValue(),导出时关键函数为getActiveSheet(),setCellValue(\'A1\',\'司机\')。

以上是关于TP3.2加载外部PHPexcel类,实现导入和导出的主要内容,如果未能解决你的问题,请参考以下文章

tp3.2/thinkphp3.2引入外部类文件/.php文件总结

thinkphp5 使用PHPExcel 导入导出

ThinkPHP5调用PHPExcel类实现导入导出

PHPExcel使用-使用PHPExcel导入文件

ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

ThinkPHP3.1.3使用phpExcel1.8.0实现数据从Excel表格导入mysql数据库