您的位置:首页 > 编程语言 > PHP开发

ThinkPHP中利用PHPEXCEL进行excel导出

2013-07-31 11:55 399 查看
关于使用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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: