thinpphp5.1使用excel導入數據

 注意點:

1:還是那個問題  tp5.1廢除了助手函數vendor和import函數  我用的require原始的引入

2:我之前用封裝導入方法 但是導出的表列寬不夠 導致數據在excel表格中得自己調整寬度才顯示正確 比如2018-08-08 打開文件變成######,所以我還是用的phpexcel插件

下面是代碼:

$list = Db::name('user')->select();//導出的數據
$path = dirname(__FILE__); //找到當前腳本所在路徑
require'../extend/PHPExcel/PHPExcel.php';
$PHPExcel = new \PHPExcel();
$PHPSheet = $PHPExcel->getActiveSheet();
$PHPSheet->setTitle("demo"); //給當前活動sheet設置名稱
$PHPSheet->setCellValue("A1", "快遞編號")//導出的表頭
         ->setCellValue("B1", "日期")
         ->setCellValue("C1", "快遞郵費")
         ->setCellValue("D1", "對賬結果")
         ->setCellValue("E1", "差異的運費")
         ->setCellValue("F1", "發貨單號備註")
         ->setCellValue("G1", "配送中心")
         ->setCellValue("H1", "快遞公司");
$PHPSheet->getColumnDimension('A')->setWidth(20);//設置列寬度
$PHPSheet->getColumnDimension('B')->setWidth(20);
$PHPSheet->getColumnDimension('C')->setWidth(20);
$PHPSheet->getColumnDimension('D')->setWidth(20);
$PHPSheet->getColumnDimension('E')->setWidth(20);
$PHPSheet->getColumnDimension('F')->setWidth(45);
$PHPSheet->getColumnDimension('G')->setWidth(20);
$PHPSheet->getColumnDimension('H')->setWidth(20);
$i = 2;
foreach($list as $data){//數據表對應字段
    $PHPSheet->setCellValue("A" . $i, $data['expressNum'])
             ->setCellValue("B" . $i, date("Y-m-d",$data['createTime']))
             ->setCellValue("C" . $i, $data['ps_fee'])
             ->setCellValue("D" . $i, $data['result'])
             ->setCellValue("E" . $i, $data['differential'])
             ->setCellValue("F" . $i, $data['remark'])
             ->setCellValue("G" . $i, $data['companyName'])
             ->setCellValue("H" . $i, $data['kdname']);
    $i++;	
}
$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");
header('Content-Disposition: attachment;filename="表單數據.xlsx"');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
$PHPWriter->save("php://output"); //表示在$path路徑下面生成demo.xlsx文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章