关于使用PHPEXCEL,首先需要把下载好的文件更名为Excel(PHPExcel.php PHPExcel文件)放入ThinkPHP包的Vendor文件夹中,算是导入了一个新类。
其次就是关于导出函数的使用,具体代码如下所示:
public function imorder()
{
$list = $_SESSION[\'depart\']; //通过SESSION传递过来的已经在数据库中查询出来的数据集。
$num=count($list); // 对查询出来的数据进行统计。
error_reporting(E_ALL);
ini_set(\'display_errors\', TRUE);
ini_set(\'display_startup_errors\', TRUE);
Vendor(\'Excel.PHPExcel\');
Vendor(\'Excel.PHPExcel.IOFactory\');
Vendor(\'Excel.PHPExcel.Reader.Excel5\');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(\'A1\', \'学工号\') //确定导出的表中的每一列的名称。
->setCellValue(\'B1\', \'姓名\')
->setCellValue(\'C1\', \'班级名称\')
->setCellValue(\'D1\', \'消费日期\')
->setCellValue(\'E1\', \'消费时间\')
->setCellValue(\'F1\', \'消费年度\')
->setCellValue(\'G1\', \'消费金额\')
->setCellValue(\'H1\', \'余额\')
->setCellValue(\'I1\', \'操作员\');
for ($i=0; $i < $num; $i++) {
$n=$i+2;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue(\'A\'.$n, $list[$i][\'STUEMPNO\']) //每一列对应的数值。
->setCellValue(\'B\'.$n, $list[$i][\'CUSTNAME\'])
->setCellValue(\'C\'.$n, $list[$i][\'CLASSNAME\'])
->setCellValue(\'D\'.$n, $list[$i][\'XFDATE\'])
->setCellValue(\'E\'.$n, $list[$i][\'XFTIME\'])
->setCellValue(\'F\'.$n, $list[$i][\'NDNAME\'])
->setCellValue(\'G\'.$n, $list[$i][\'JE\'])
->setCellValue(\'H\'.$n, $list[$i][\'YE\'])
->setCellValue(\'I\'.$n, $list[$i][\'FIRSTNAME\']);
}
$objPHPExcel->getActiveSheet()->setTitle(\'title\');
$objPHPExcel->setActiveSheetIndex(0);
spl_autoload_register(array(\'Think\',\'autoload\'));
header(\'Content-Type: application/vnd.ms-excel\');
header(\'Content-Disposition: attachment;filename="文件名.xls"\'); //导出excel文件的名字是已经定义过的。
header(\'Cache-Control: max-age=0\');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, \'Excel5\');
$objWriter->save(\'php://output\');
exit;
}