[php]代码库
/** Error reporting */ |
error_reporting(E_ALL & ~E_NOTICE);
|
date_default_timezone_set(\'Europe/London\');
|
/** PHPExcel */
|
require_once \'../export/phpexcel/Classes/PHPExcel.php\';
|
// Create new PHPExcel object
|
$objPHPExcel = new PHPExcel();
|
$objPHPExcel->getProperties()->setCreator("meilang")
|
->setLastModifiedBy("meilang")
|
->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");
|
// Add some data
|
$objPHPExcel->setActiveSheetIndex(0)
|
->SetCellValue(\'A1\', \'订单号\')
|
->SetCellValue(\'B1\', \'会员名称\')
|
->SetCellValue(\'C1\', \'状态\')
|
->SetCellValue(\'D1\', \'数量\')
|
->SetCellValue(\'E1\', \'商品名称\')
|
->SetCellValue(\'F1\', \'提货点\')
|
->SetCellValue(\'G1\', \'总计\')
|
->SetCellValue(\'H1\', \'生成日期\')
|
->SetCellValue(\'I1\', \'姓氏\')
|
->SetCellValue(\'J1\', \'姓名\')
|
->SetCellValue(\'K1\', \'快递公司\')
|
->SetCellValue(\'L1\', \'地址1\')
|
->SetCellValue(\'M1\', \'地址2\')
|
->SetCellValue(\'N1\', \'快递号\')
|
->SetCellValue(\'O1\', \'手机号码\')
|
->SetCellValue(\'P1\', \'邮编\')
|
->SetCellValue(\'Q1\', \'会员留言\')
|
->SetCellValue(\'R1\', \'地区/省\');
|
$i = 2;
|
foreach ($results as $r) {
|
$objPHPExcel->setActiveSheetIndex(0)
|
->SetCellValue(\'A\' . $i, $r[\'order_id\'])
|
->SetCellValue(\'B\' . $i, $r[\'customer_name\'])
|
->SetCellValue(\'C\' . $i, $r[\'name\'])
|
->SetCellValue(\'D\' . $i, $r[\'product_nums\'])
|
->SetCellValue(\'E\' . $i, $r[\'pname\'])
|
->SetCellValue(\'F\' . $i, $r[\'addresstype\'])
|
->SetCellValue(\'G\' . $i, $r[\'total\'])
|
->SetCellValue(\'H\' . $i, $r[\'date_added\'])
|
->SetCellValue(\'I\' . $i, $r[\'firstname\'])
|
->SetCellValue(\'J\' . $i, $r[\'lastname\'])
|
->SetCellValue(\'K\' . $i, $r[\'shipping_method\'])
|
->SetCellValue(\'L\' . $i, $r[\'payment_address_1\'])
|
->SetCellValue(\'M\' . $i, $r[\'payment_address_2\'])
|
->SetCellValue(\'N\' . $i, $r[\'shipping_num\'])
|
->SetCellValue(\'O\' . $i, $r[\'payment_phone\'])
|
->SetCellValue(\'P\' . $i, $r[\'payment_postcode\'])
|
->SetCellValue(\'Q\' . $i, $r[\'liuyan\'])
|
->SetCellValue(\'R\' . $i, $r[\'payment_zone\']);
|
$i++;
|
}
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'A\')->setWidth(13);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'B\')->setWidth(16);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'C\')->setWidth(14);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'D\')->setWidth(7.86);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'E\')->setWidth(27.5);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'F\')->setWidth(14);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'G\')->setWidth(13.14);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'H\')->setWidth(18.29);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'I\')->setWidth(14);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'J\')->setWidth(12);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'K\')->setWidth(13.67);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'L\')->setWidth(14);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'M\')->setWidth(46);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'N\')->setWidth(23.67);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'O\')->setWidth(14.83);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'P\')->setWidth(12);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'Q\')->setWidth(26);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'R\')->setWidth(12);
|
$objPHPExcel->getActiveSheet()->getColumnDimension(\'S\')->setWidth(25);
|
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(16);
|
// 水平方向上两端对齐
|
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment:: HORIZONTAL_CENTER);
|
// 垂直方向上中间居中
|
$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment:: VERTICAL_CENTER);
|
// 固定第一行
|
$objPHPExcel->getActiveSheet()->freezePane(\'A2\');
|
// 设置默认字体、大小
|
$objPHPExcel->getDefaultStyle()->getFont()->setName(\'Times New Roman\');
|
$objPHPExcel->getDefaultStyle()->getFont()->setSize(9);
|
// 设置第一行填充颜色
|
$objPHPExcel->getActiveSheet()->getStyle(\'A1:R1\')->getFill()->setFillType(PHPExcel_Style_Fill:: FILL_SOLID);
|
$objPHPExcel->getActiveSheet()->getStyle(\'A1:R1\')->getFill()->getStartColor()->setARGB(\'888888\');
|
$objPHPExcel->getActiveSheet()->getStyle(\'A1:R1\')->getFont()->getColor()->setARGB(PHPExcel_Style_Color:: COLOR_WHITE);
|
//*********************** 画出单元格边框 *****************************
|
$styleArray = array(
|
\'borders\' => array(
|
\'allborders\' => array(
|
//\'style\' => PHPExcel_Style_Border::BORDER_THICK,// 边框是粗的
|
\'style\' => PHPExcel_Style_Border:: BORDER_THIN,// 细边框
|
\'color\' => array(\'argb\' => \'ADADAD\'),
|
),
|
),
|
);
|
$objPHPExcel->getActiveSheet()->getStyle(\'A1:R\' . ++$i)->applyFromArray($styleArray);// 这里就是画出从单元格 A5 到Si 的边框
|
//*********************** 画出单元格边框结束 *****************************
|
// Rename sheet
|
$objPHPExcel->getActiveSheet()->setTitle(\'订单报表\');
|
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
$objPHPExcel->setActiveSheetIndex(0);
|
// Redirect output to a client\'s web browser (Excel5)
|
ob_end_clean();
|
header(\'Content-Type: application/vnd.ms-excel\');
|
header(\'Content-Disposition: attachment;filename="订单报表.xls"\');
|
header(\'Cache-Control: max-age=0\');
|
header(\'Content-type:application/vnd.ms-excel\');
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, \'Excel5\');
|
$objWriter->save(\'php://output\');
|