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

PHPexcel数据按模板导出

2014-06-18 15:52 429 查看
<?php
header("Content-type: text/html; charset=gb2312");
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

date_default_timezone_set('Europe/London');

/** PHPExcel_IOFactory */
require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel5');
//设置模板文件
$objPHPExcel = $objReader->load("templates/bills.xls");
//将json字符串转换为数组
$billData = json_decode($_REQUEST["billData"],true);
//填充单元格
$objPHPExcel->getActiveSheet()->setCellValue('B4', $billData['party'])
->setCellValue('B5', $billData['game'])
->setCellValue('A9', $billData['month'])
->setCellValue('I28', $billData['total'])
->setCellValue('H30', $billData['partyaccount']['name'])
->setCellValue('H31', $billData['partyaccount']['bank'])
->setCellValue('H32', $billData['partyaccount']['account'])
->setCellValue('H33', $billData['partyaccount']['address'])
->setCellValue('H34', $billData['partyaccount']['contactpeople'])

->setCellValue('H35', $billData['partyaccount']['contacttel']);

//循环填充相同标题单元格
$row=11;
foreach($billData['bills'] as $r => $dataRow) {
$objPHPExcel->getActiveSheet()->setCellValue('B'.$row, $dataRow['cardtype'])
->setCellValue('c'.$row, $dataRow['orderamount'])
->setCellValue('D'.$row, $dataRow['feerate'])
->setCellValue('E'.$row, $dataRow['fee'])
->setCellValue('F'.$row, $dataRow['amount'])
->setCellValue('G'.$row, $dataRow['partyratio'])
->setCellValue('H'.$row, $dataRow['partynumber'])
->setCellValue('I'.$row, $dataRow['partyamount'])
->setCellValue('J'.$row, $dataRow['memo']);
$objPHPExcel->getActiveSheet()->getStyle('c'.$row)->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$row++;
}

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

$str= mb_convert_encoding("out/bill_".$billData['party'].'_'.$billData['game'].'_'.$billData['month'].".xls","gb2312","UTF-8");
$objWriter->save($str);
//让访问浏览器直接下载文件流
Header("Location: /out/bill_".$billData['party'].'_'.$billData['game'].'_'.$billData['month'].".xls");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: