1. 程式人生 > >tp5封裝 phpexecl引入和調用類的封裝以及調用

tp5封裝 phpexecl引入和調用類的封裝以及調用

封裝 tp5 phpexecl

composer安裝phpexecl

composer require phpoffice/phpexcel


<?php

namespace Potting;

use PHPExcel;

use PHPExcel_IOFactory;

class Excel

{

static public function export($headArr,$data){

$path=‘execl/‘;

$fileName=time();

if(!file_exists($path)){

mkdir($path,0777,true);

}

$objPHPExcel = new PHPExcel();

$objPHPExcel->getProperties();

$key = ord("A"); // 設置表頭

foreach ($headArr as $v) {

$colum = chr($key);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . ‘1‘, $v);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . ‘1‘, $v);

$key += 1;

}

$column = ‘2‘;

$objActSheet = $objPHPExcel->getActiveSheet();

foreach ($data as $key => $rows) { // 行寫入

$span = ord("A");

foreach ($rows as $keyName => $value) { // 列寫入

$objActSheet->setCellValue(chr($span) . $column, $value);

$span++;

}

$column++;

}

$fileName = $fileName.".xls";

$objActSheet = PHPExcel_IOFactory::createWriter($objPHPExcel,‘Excel2007‘);

//保存xls

$objActSheet->save($path.$fileName);

//返回路徑

return $path.$fileName;

}

}



<?php

namespace Potting;

use PHPExcel;

use PHPExcel_IOFactory;

class Excel

{

static public function export($fileName,$headArr,$data){

// $path=‘execl/‘;

// $fileName=time();

// if(!file_exists($path)){

// mkdir($path,0777,true);

// }

$objPHPExcel = new PHPExcel();

$objPHPExcel->getProperties();

$key = ord("A"); // 設置表頭

foreach ($headArr as $v) {

$colum = chr($key);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . ‘1‘, $v);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . ‘1‘, $v);

$key += 1;

}

$column = ‘2‘;

$objActSheet = $objPHPExcel->getActiveSheet();

foreach ($data as $key => $rows) { // 行寫入

$span = ord("A");

foreach ($rows as $keyName => $value) { // 列寫入

$objActSheet->setCellValue(chr($span) . $column, $value);

$span++;

}

$column++;

}

$fileName = $fileName.".xls";

$fileName = iconv("utf-8", "gb2312", $fileName); // 重命名表

$objPHPExcel->setActiveSheetIndex(0); // 設置活動單指數到第一個表,所以Excel打開這是第一個表

header(‘Content-Type: application/vnd.ms-excel‘);

header("Content-Disposition: attachment;filename=‘$fileName‘");

header(‘Cache-Control: max-age=0‘);

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

$objWriter->save(‘php://output‘); // 文件通過瀏覽器下載

exit();

//$fileName = $fileName.".xls";

//$objActSheet = PHPExcel_IOFactory::createWriter($objPHPExcel,‘Excel2007‘);

//保存xls

//$objActSheet->save($path.$fileName);

//返回路徑

//return $path.$fileName;

}

}


public function index()

{

$fileName=‘測試‘;

$header=[‘表頭A‘,‘表頭B‘,‘表頭C‘];

$data=[

[‘嘿嘿‘,‘heihei‘,‘2321312‘],

[‘嘿嘿‘,‘heihei‘,‘2321312‘],

[‘哈哈‘,‘haha‘,‘2321312‘]

];

$url=Excel::export($fileName,$header,$data);

var_dump($url);die();

}


本文出自 “傷痕” 博客,請務必保留此出處http://9934547.blog.51cto.com/9924547/1979387

tp5封裝 phpexecl引入和調用類的封裝以及調用