zoukankan      html  css  js  c++  java
  • PHPexcel数据按模板导出

     1 <?php
     2 header("Content-type: text/html; charset=gb2312"); 
     3 error_reporting(E_ALL);
     4 ini_set('display_errors', TRUE);
     5 ini_set('display_startup_errors', TRUE);
     6 
     7 define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
     8 
     9 date_default_timezone_set('Europe/London');
    10 
    11 /** PHPExcel_IOFactory */
    12 require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php';
    13 $objReader = PHPExcel_IOFactory::createReader('Excel5');
    14 //设置模板文件
    15 $objPHPExcel = $objReader->load("templates/bills.xls");
    16 //将json字符串转换为数组
    17 $billData = json_decode($_REQUEST["billData"],true);
    18 //填充单元格
    19 $objPHPExcel->getActiveSheet()->setCellValue('B4', $billData['party'])
    20                               ->setCellValue('B5', $billData['game'])
    21                               ->setCellValue('A9', $billData['month'])
    22                              ->setCellValue('I28', $billData['total'])
    23                               ->setCellValue('H30', $billData['partyaccount']['name'])
    24                               ->setCellValue('H31', $billData['partyaccount']['bank'])
    25                               ->setCellValue('H32', $billData['partyaccount']['account'])
    26                               ->setCellValue('H33', $billData['partyaccount']['address'])
    27                               ->setCellValue('H34', $billData['partyaccount']['contactpeople'])
    28  
    29                               ->setCellValue('H35', $billData['partyaccount']['contacttel']);
    30 
    31  //循环填充相同标题单元格
    32  $row=11;                             
    33 foreach($billData['bills'] as $r => $dataRow) {
    34     $objPHPExcel->getActiveSheet()->setCellValue('B'.$row, $dataRow['cardtype'])
    35                                   ->setCellValue('c'.$row, $dataRow['orderamount'])
    36                                   ->setCellValue('D'.$row, $dataRow['feerate'])
    37                                   ->setCellValue('E'.$row, $dataRow['fee'])
    38                                   ->setCellValue('F'.$row, $dataRow['amount'])
    39                                   ->setCellValue('G'.$row, $dataRow['partyratio'])
    40                                   ->setCellValue('H'.$row, $dataRow['partynumber'])
    41                                   ->setCellValue('I'.$row, $dataRow['partyamount'])
    42                                   ->setCellValue('J'.$row, $dataRow['memo']);
    43  $objPHPExcel->getActiveSheet()->getStyle('c'.$row)->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);       
    44    $row++;
    45 }
    46 
    47 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    48 
    49 $str= mb_convert_encoding("out/bill_".$billData['party'].'_'.$billData['game'].'_'.$billData['month'].".xls","gb2312","UTF-8");
    50 $objWriter->save($str);
    51 //让访问浏览器直接下载文件流
    52 Header("Location: /out/bill_".$billData['party'].'_'.$billData['game'].'_'.$billData['month'].".xls");
  • 相关阅读:
    使用命令行工具创建.Net Core应用程序
    WinForm--DataGridView复制单元格数据
    WinForm--DataGridView导出数据到CSV文件
    进程和线程(线程是轻量级进程)(下)
    进程和线程(线程是轻量级进程)(中)
    C# 泛型(Generic)
    C# 事件(Event)
    C# 委托(Delegate)
    C# 反射
    C# 程序集(Assembly)
  • 原文地址:https://www.cnblogs.com/wr1437/p/3794773.html
Copyright © 2011-2022 走看看