導入/導出excel和PHPExcel基本使用
* PHPExcel基本使用
* PS:文章如果有誤,請及時指出,給予修改
* 項目中導入PHPExcel
* 可以去網上下載 github composer 都可以
* 為了方便下載,我將壓縮包添加到了百度雲 下面是地址和提取密碼
* 鏈接:https://pan.baidu.com/s/10eaZ0-Ij6kd4jriP3QOABA 提取密碼:enwi
* 踩的坑:
* 坑1:excel的單元格讀取的值 可能是空字符串 使用empty()函數進行判斷 返回值為true 使用時先進行trim();
* 坑2:excel單元格的值若是函數計算出的值 讀取出來無法進行直接使用 需要判斷
* 坑3:getOldCalculatedValue 和 getCalculatedValue , getCalculatedValue()這個方法已經不推薦使用了
$value = $objPHPExcel->getActiveSheet()->getCell($column.$row)->getValue(); if(substr($value,0,1) == ‘=‘){ $value = $objPHPExcel->getActiveSheet()->getCell($column.$row)->getOldCalculatedValue(); }
* 坑4:如果當前excel數據列數超過Z列,後續AA,AB ... 此時循環需要自己手動處理循環列數 則不能再使用 ++ 完成自動運算
* 坑5:導出默認會自己創建一個sheet,如果需要導出多個sheet,在第一個sheet後再執行 $objPHPExcel->createSheet();
* 坑6:設置單元格不以科學技術法顯示不生效,強制將數字字符串轉換為字符串,拼接空格即可
* 坑7:不要閑麻煩,每個取值和不確定的數據 都使用isset()進行判斷 ,很有可能當前取得列,其他sheet頁沒有
* 坑8:最好在方法開始的最外層,增加異常的捕獲.不然程序異常影響用戶體驗
* 坑9:在require引入PHPExcel擴展的時候,確保文件夾有可讀權限
* excel文件上傳 : 由於無法在上傳的時候 直接讀取文件的值 只有先將文件存儲後使用 使用完成後刪除即可[使用:unlink()]
* laravel 框架自帶文件存儲 使用也相當簡單
$request = new Request();
* 兩種存儲文件方式 store 和 storeAs
* store 方法接受相對於文件系統配置的存儲文件根目錄的路徑。這個路徑不能包含文件名,因為系統會自動生成唯一的 ID 作為文件名。
* 該方法還接受可選的第二個參數,用於存儲文件的磁盤名稱。這個方法會返回相對於磁盤根目錄的文件路徑
$path = $request->file->store(‘xxx‘); $path = $request->file->store(‘xxx‘, ‘s3‘);
* storeAs 方法,它接受路徑、文件名和磁盤名
$path = $request->file->storeAs($save_path, $tmpName);
* 解釋為什麽中間為file 是因為傳遞參數 name為file 如果是其他 則換為傳遞的name即可
* storeAs只能將文件存儲到storage文件夾下 如果要自定義文件存儲除storage以外的路徑
* 使用PHP原生處理文件機制:move_uploaded_file 若成功,則返回 true,否則返回 false。
$bool = move_uploaded_file($_FILES["file"]["tmp_name"], ‘$save_path);//$save_path 為文件寫入路徑
*
* 使用:
* 項目中引用路徑
require_once ‘./PHPExcel/PHPExcel.php‘;
* 導出:PHPExcel實例化對象
* 導入:PHPExcel_IOFactory實例化對象
$objPHPExcel = new PHPExcel(); $objPHPExcel = \PHPExcel_IOFactory::load($path); //$path為excel文件絕對路徑
*******************獲取表格內容--使用時根據實際內容做修改******************************
/** * 獲取excel信息和內容 TODO:使用時根據實際業務邏輯進行邏輯調整 * @param string $path * @param bool $isReadContent * @return array */ private static function _getExcelInfoAndContent($path = ‘‘,$isReadContent = false) { $info = array(); //文件內容獲取 $objPHPExcel = \PHPExcel_IOFactory::load($path); //獲取sheet表格數目 $info[‘sheetCount‘] = $objPHPExcel->getSheetCount(); //獲取sheet表格名稱 $info[‘sheetName‘] = $objPHPExcel->getSheetNames(); $totalRowCount = 0; foreach ($info[‘sheetName‘] as $k => $v){ $objPHPExcel->setActiveSheetIndex($k); //獲取表格行數 $rowCount = $objPHPExcel->getActiveSheet()->getHighestRow(); $info[‘sheetRows‘][$k] = rowCount == 0 ? 0 : $rowCount; $totalRowCount += $info[‘sheetRows‘][$k]; if($isReadContent){ //獲取表格列數 $columnCount = $objPHPExcel->getActiveSheet()->getHighestColumn(); //如果超出範圍 只讀取到Z列 TODO:如果需要讀取到AA及以後列,請自行處理 if(strlen($columnCount)>=2){ $columnCount = ‘Z‘; } $dataArr = array(); $data = array(); //行數循環 for ($row = 1; $row <= $rowCount; $row++){ //列數循環 , 列數是以A列開始 for ($column = ‘A‘; $column <= $columnCount; $column++) { $dataArr[$column] = $objPHPExcel->getActiveSheet()->getCell($column.$row)->getValue(); //查看是否為公式取值 if(substr($dataArr[$column],0,1) == ‘=‘){ $dataArr[$column] = $objPHPExcel->getActiveSheet()->getCell($column.$row)->getOldCalculatedValue(); } } $data[$row] = $dataArr; $dataArr = NULL; } //默認對應的k對應sheet表名 $info[‘data‘][$k] = $data; }else{ $info[‘data‘][$k] = array(); } } $info[‘totalRowsCount‘] = $totalRowCount; return $info; }
********************寫入表格內容--使用時根據實際內容做修改***************************
/** * 導出數據 TODO:使用時根據實際業務邏輯進行邏輯調整 * @param $fileName 文件名 * @param $columnName 設置的列名 (數組) * @param $expTableData 導出的data */ private static function _exportExcel($fileName,$columnName,$expTableData){ $objPHPExcel = new \PHPExcel(); $sheets = $expTableData[‘sheets‘]; $data = $expTableData[‘data‘]; foreach ($sheets as $k => $v){ if($k != 0){ $objPHPExcel->createSheet(); } //設置sheet名稱 $objPHPExcel->setactivesheetindex($k)->setTitle($v[‘name‘]); //示例:設置寬度 $objPHPExcel->setActiveSheetIndex($k)->getColumnDimension(‘C‘)->setWidth(25); //行數計數器 邏輯默認有主標題和列名 根據實際情況修改 $row = 3; $status = false; if(!empty($data) && is_array($data) && count($data) > 0){ foreach ($data as $mk => $mv){ foreach ($columnName as $ck => $cv) { if($mk == 0) { //合並,設置主標題 $objPHPExcel->getActiveSheet($k)->mergeCells(‘A1:Y1‘)->setCellValue(‘A1‘,‘信息登記表‘)->getStyle(‘A1‘)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //設置標題 $objPHPExcel->getActiveSheet($k)->setCellValue($ck . $columnName[$ck][‘num‘], $columnName[$ck][‘name‘]); } //判斷是否屬於該組 if($mv[‘sheet_sheet_id‘] == $v[‘id‘]){ //獲取當前單元格的值,TODO:_getCurrentCellValue方法為自己封裝 處理當前單元格數據 <自己寫哦> $value = self::_getCurrentCellValue($ck,$mv,$row-2); //拼接數據 $objPHPExcel->getActiveSheet($k)->setCellValue($ck . $row, $value); $status = true; } } if($status){ $row++; $status = false; } } }else{ foreach ($columnName as $ck => $cv) { //合並,設置主標題 $objPHPExcel->getActiveSheet($k)->mergeCells(‘A1:Y1‘)->setCellValue(‘A1‘,‘信息登記表‘)->getStyle(‘A1‘)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //設置標題 $objPHPExcel->getActiveSheet($k)->setCellValue($ck . $columnName[$ck][‘num‘], $columnName[$ck][‘name‘]); } } } header(‘Pragma: public‘); header(‘Expires: 0‘); header(‘Cache-Control:must-revalidate,post-check=0,pre-check=0‘); header(‘Content-Type:application/force-download‘); header(‘Content-Type:application/vnd.ms-execl‘); header(‘Content-Type:application/octet-stream‘); header(‘Content-Type:application/download‘); header("Content-Disposition:attachment;filename=".$fileName.".xls"); header(‘Content-Transfer-Encoding:binary‘); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘); $objWriter->save(‘php://output‘); }
****************************經常使用方法**************************************
//獲取sheet表格數目 $objPHPExcel->getSheetCount(); //獲取sheet表格名稱 $objPHPExcel->getSheetNames(); //設置$k為活動sheet $k 為正整數 [0,+∞) $objPHPExcel->setActiveSheetIndex($k); //獲取表格行數 $objPHPExcel->getActiveSheet()->getHighestRow();//若沒有設置活動sheet 那麽以下的操作都需要getActiveSheet($k) //獲取表格列數 $objPHPExcel->getActiveSheet()->getHighestColumn(); //獲取單元格值(無公式) $column -> 列 $row -> 行 如:A2 $objPHPExcel->getActiveSheet()->getCell($column.$row)->getValue(); //獲取單元格值(有公式) $column -> 列 $row -> 行 如:A2 $objPHPExcel->getActiveSheet()->getCell($column.$row)->getOldCalculatedValue();//getCalculatedValue新版本已不推薦使用 //創建sheet $objPHPExcel->createSheet(); //設置sheet名稱 $objPHPExcel->setactivesheetindex($k)->setTitle(‘sheetDIY‘); //設置cell寬度 //$column : 列 如:A $objPHPExcel->setActiveSheetIndex($k)->getColumnDimension($column)->setWidth(25); //指定寬度 $objPHPExcel->setActiveSheetIndex($k)->getColumnDimension($column)->setAutoSize(true); //自動調整 //設置行高度 $objPHPExcel->getActiveSheet($k)->getDefaultRowDimension($column)->setRowHeight(30); //設置單元格不以科學計數法顯示 如果沒有生效 將過長字符串拼接空格即可 $objPHPExcel->setActiveSheetIndex($k)->getStyle($column)->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT); //分離單元格 $objPHPExcel->getActiveSheet($k)->unmergeCells(‘A1:E22‘); //合並單元格 $objPHPExcel->getActiveSheet($k)->mergeCells(‘A1:Y1‘)->setCellValue(‘A1‘,‘信息登記表‘); //合並單元格居中顯示 $objPHPExcel->getActiveSheet($k)->mergeCells(‘A1:Y1‘)->setCellValue(‘A1‘,‘信息登記表‘)->getStyle(‘A1‘)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //單元格設置值 $column:列 , $row:行 如:A2 $objPHPExcel->getActiveSheet($k)->setCellValue($column . $row, $value); //寫入數據導出內容 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘); $objWriter->save(‘php://output‘);
****************************導出header頭**************************************
header(‘Pragma: public‘); header(‘Expires: 0‘); header(‘Cache-Control:must-revalidate,post-check=0,pre-check=0‘); header(‘Content-Type:application/force-download‘); header(‘Content-Type:application/vnd.ms-execl‘); header(‘Content-Type:application/octet-stream‘); header(‘Content-Type:application/download‘); header("Content-Disposition:attachment;filename=".$fileName.".xls"); header(‘Content-Transfer-Encoding:binary‘); //如果不使用PHPExcel導出 則使用readfile($filePath) //$filePath:需要導出文件路徑
***************************其他方法********************************************
//Set properties 設置文件屬性 $objPHPExcel->getProperties()->setCreator("Maarten Balliauw"); $objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw"); $objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document"); $objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes."); $objPHPExcel->getProperties()->setKeywords("office 2007 openxml php"); $objPHPExcel->getProperties()->setCategory("Test result file"); //日期格式化 $objPHPExcel->getActiveSheet()->setCellValue(‘D1‘, time()); $objPHPExcel->getActiveSheet()->getStyle(‘D1‘)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); //Add comment 添加註釋 $objPHPExcel->getActiveSheet()->getComment(‘E11‘)->setAuthor(‘PHPExcel‘); $objCommentRichText = $objPHPExcel->getActiveSheet()->getComment(‘E11‘)->getText()->createTextRun(‘PHPExcel:‘); $objCommentRichText->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getComment(‘E11‘)->getText()->createTextRun("\r\n"); $objPHPExcel->getActiveSheet()->getComment(‘E11‘)->getText()->createTextRun(‘Total amount on the current invoice, excluding VAT.‘); //Set fonts 設置字體 $objPHPExcel->getActiveSheet()->getStyle(‘B1‘)->getFont()->setName(‘Candara‘); $objPHPExcel->getActiveSheet()->getStyle(‘B1‘)->getFont()->setSize(20); $objPHPExcel->getActiveSheet()->getStyle(‘B1‘)->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle(‘B1‘)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); $objPHPExcel->getActiveSheet()->getStyle(‘B1‘)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); //Set alignments 設置對齊 $objPHPExcel->getActiveSheet()->getStyle(‘D11‘)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->getActiveSheet()->getStyle(‘A18‘)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); $objPHPExcel->getActiveSheet()->getStyle(‘A18‘)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle(‘A3‘)->getAlignment()->setWrapText(true); //Set column borders 設置列邊框 $objPHPExcel->getActiveSheet()->getStyle(‘A4‘)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getActiveSheet()->getStyle(‘A10‘)->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getActiveSheet()->getStyle(‘E10‘)->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getActiveSheet()->getStyle(‘D13‘)->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); $objPHPExcel->getActiveSheet()->getStyle(‘E13‘)->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); //Set border colors 設置邊框顏色 $objPHPExcel->getActiveSheet()->getStyle(‘D13‘)->getBorders()->getLeft()->getColor()->setARGB(‘FF993300‘); $objPHPExcel->getActiveSheet()->getStyle(‘D13‘)->getBorders()->getTop()->getColor()->setARGB(‘FF993300‘); $objPHPExcel->getActiveSheet()->getStyle(‘D13‘)->getBorders()->getBottom()->getColor()->setARGB(‘FF993300‘); $objPHPExcel->getActiveSheet()->getStyle(‘E13‘)->getBorders()->getRight()->getColor()->setARGB(‘FF993300‘); //Set fills 設置填充 $objPHPExcel->getActiveSheet()->getStyle(‘A1‘)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objPHPExcel->getActiveSheet()->getStyle(‘A1‘)->getFill()->getStartColor()->setARGB(‘FF808080‘); //Add a hyperlink to the sheet 添加鏈接 $objPHPExcel->getActiveSheet()->setCellValue(‘E26‘, ‘www.phpexcel.net‘); $objPHPExcel->getActiveSheet()->getCell(‘E26‘)->getHyperlink()->setUrl(‘http://www.phpexcel.net‘); $objPHPExcel->getActiveSheet()->getCell(‘E26‘)->getHyperlink()->setTooltip(‘Navigate to website‘); $objPHPExcel->getActiveSheet()->getStyle(‘E26‘)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); //Add a drawing to the worksheet 添加圖片 $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setName(‘Logo‘); $objDrawing->setDescription(‘Logo‘); $objDrawing->setPath(‘./images/officelogo.jpg‘); $objDrawing->setHeight(36); $objDrawing->setCoordinates(‘B15‘); $objDrawing->setOffsetX(110); $objDrawing->setRotation(25); $objDrawing->getShadow()->setVisible(true); $objDrawing->getShadow()->setDirection(45); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); //inserting and removing rows and columns 插入/刪除 行/列 $objPHPExcel->getActiveSheet()->insertNewRowBefore(6, 10); $objPHPExcel->getActiveSheet()->removeRow(6, 10); $objPHPExcel->getActiveSheet()->insertNewColumnBefore(‘E‘, 5); $objPHPExcel->getActiveSheet()->removeColumn(‘E‘, 5); //Add conditional formatting 添加條件格式 $objConditional1 = new PHPExcel_Style_Conditional(); $objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS); $objConditional1->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN); $objConditional1->setCondition(‘0‘); $objConditional1->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); $objConditional1->getStyle()->getFont()->setBold(true); //Set autofilter 自動過濾 $objPHPExcel->getActiveSheet()->setAutoFilter(‘A1:C9‘); //Hide "Phone" and "fax" column 隱藏列 $objPHPExcel->getActiveSheet()->getColumnDimension(‘C‘)->setVisible(false); $objPHPExcel->getActiveSheet()->getColumnDimension(‘D‘)->setVisible(false); //Set document security 設置文檔安全 $objPHPExcel->getSecurity()->setLockWindows(true); $objPHPExcel->getSecurity()->setLockStructure(true); $objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel"); //Set sheet security 設置工作表安全 $objPHPExcel->getActiveSheet()->getProtection()->setPassword(‘PHPExcel‘); $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);// This should be enabled in order to enable any of the following! $objPHPExcel->getActiveSheet()->getProtection()->setSort(true); $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true); $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true); //Calculated data 計算 echo ‘Value of B14 [=COUNT(B2:B12)]: ‘ . $objPHPExcel->getActiveSheet()->getCell(‘B14‘)->getCalculatedValue() . "\r\n"; //Set outline levels $objPHPExcel->getActiveSheet()->getColumnDimension(‘E‘)->setOutlineLevel(1); $objPHPExcel->getActiveSheet()->getColumnDimension(‘E‘)->setVisible(false); $objPHPExcel->getActiveSheet()->getColumnDimension(‘E‘)->setCollapsed(true); //Set data validation 驗證輸入值 $objValidation = $objPHPExcel->getActiveSheet()->getCell(‘B3‘)->getDataValidation(); $objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE ); $objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP ); $objValidation->setAllowBlank(true); $objValidation->setShowInputMessage(true); $objValidation->setShowErrorMessage(true); $objValidation->setErrorTitle(‘Input error‘); $objValidation->setError(‘Number is not allowed!‘); $objValidation->setPromptTitle(‘Allowed input‘); $objValidation->setPrompt(‘Only numbers between 10 and 20 are allowed.‘); $objValidation->setFormula1(10); $objValidation->setFormula2(20); $objPHPExcel->getActiveSheet()->getCell(‘B3‘)->setDataValidation($objValidation); //Create a new worksheet, after the default sheet 創建新的工作標簽 $objPHPExcel->createSheet(); $objPHPExcel->setActiveSheetIndex(1); //Set header and footer. When no different headers for odd/even are used, odd header is assumed. 頁眉頁腳 $objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader(‘&C&HPlease treat this document as confidential!‘); $objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter(‘&L&B‘ . $objPHPExcel->getProperties()->getTitle() . ‘&RPage &P of &N‘); //Set page orientation and size 方向大小 $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); //Rename sheet 重命名工作表標簽 $objPHPExcel->getActiveSheet()->setTitle(‘Simple‘); //設置為當前活動sheet $objPHPExcel->setActiveSheetIndex(0); //Save Excel 2007 file 保存 $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save(str_replace(‘.php‘, ‘.xlsx‘, __FILE__)); //Save Excel 5 file 保存 require_once(‘Classes/PHPExcel/Writer/Excel5.php‘); $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); $objWriter->save(str_replace(‘.php‘, ‘.xls‘, __FILE__)); //1.6.2新版保存 require_once(‘Classes/PHPExcel/IOFactory.php‘); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007‘); $objWriter->save(str_replace(‘.php‘, ‘.xls‘, __FILE__)); //讀excel //Include class require_once(‘Classes/PHPExcel/Reader/Excel2007.php‘); $objReader = new PHPExcel_Reader_Excel2007; $objPHPExcel = $objReader->load("05featuredemo.xlsx"); //讀寫csv require_once("05featuredemo.inc.php"); require_once(‘Classes/PHPExcel/Writer/CSV.php‘); require_once(‘Classes/PHPExcel/Reader/CSV.php‘); require_once(‘Classes/PHPExcel/Writer/Excel2007.php‘); //Write to CSV format 寫 $objWriter = new PHPExcel_Writer_CSV($objPHPExcel); $objWriter->setDelimiter(‘;‘); $objWriter->setEnclosure(‘‘); $objWriter->setLineEnding("\r\n"); $objWriter->setSheetIndex(0); $objWriter->save(str_replace(‘.php‘, ‘.csv‘, __FILE__)); //Read from CSV format 讀 $objReader = new PHPExcel_Reader_CSV(); $objReader->setDelimiter(‘;‘); $objReader->setEnclosure(‘‘); $objReader->setLineEnding("\r\n"); $objReader->setSheetIndex(0); $objPHPExcelFromCSV = $objReader->load(str_replace(‘.php‘, ‘.csv‘, __FILE__)); //Write to Excel2007 format $objWriter2007 = new PHPExcel_Writer_Excel2007($objPHPExcelFromCSV); $objWriter2007->save(str_replace(‘.php‘, ‘.xlsx‘, __FILE__)); 寫html require_once("05featuredemo.inc.php"); require_once(‘Classes/PHPExcel/Writer/HTML.php‘); //Write to HTML format $objWriter = new PHPExcel_Writer_HTML($objPHPExcel); $objWriter->setSheetIndex(0); $objWriter->save(str_replace(‘.php‘, ‘.htm‘, __FILE__)); //寫pdf require_once("05featuredemo.inc.php"); require_once(‘Classes/PHPExcel/IOFactory.php‘); //Write to PDF format $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘PDF‘); $objWriter->setSheetIndex(0); $objWriter->save(str_replace(‘.php‘, ‘.pdf‘, __FILE__)); //Echo memory peak usage echo date(‘H:i:s‘) . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 / 1024) . " MB\r\n";
-------------- 全文end -------------
導入/導出excel和PHPExcel基本使用