通過PHPExcel_IOFactory的靜態方法createReader或createWriter,必須傳入文檔格式所對應的參數字符串
//設置PHPExcel類庫的includepath
set_include_path('.'.PATH_SEPARATOR.'D:\workspace\biznaligy_eh\dev_src\includes\PHPExcel'.PATH_SEPARATOR.get_include_path());
//創建一個處理對象實例
$objPHPExcel=new PHPExcel();
//創建文件格式寫入對象實例,uncomment
//$objWriter=new PHPExcel_Writer_Excel2007($objPHPExcel);//用於2007格式
//$objWriter->setOffice2003Compatibility(true);
//設置文檔基本屬性
$objProps=$objPHPExcel->getProperties();
$objProps->setCreator("ZealLi");
$objProps->setLastModifiedBy("ZealLi");
$objProps->setTitle("OfficeXLSTestDocument");
$objProps->setSubject("OfficeXLSTestDocument,Demo");
$objProps->setDescription("Testdocument,generatedbyPHPExcel.");
$objProps->setKeywords("officeexcelPHPExcel");
$objProps->setCategory("Test");
//設置當前的sheet索引,用於後續的內容操作。一般只有在使用多個sheet的時候才需要顯示調用。
//缺省情況下,PHPExcel會自動創建第一個sheet被設置SheetIndex=0
$objPHPExcel->setActiveSheetIndex(0);
$objActSheet=$objPHPExcel->getActiveSheet();
//設置當前活動sheet的名稱
$objActSheet->setTitle('測試Sheet');
//設置單元格內容由PHPExcel根據傳入內容自動判斷單元格內容類型
$objActSheet->setCellValue('A1','字符串內容');//字符串內容
$objActSheet->setCellValue('A2',26);//數值
$objActSheet->setCellValue('A3',true);//布爾值
$objActSheet->setCellValue('A4','=SUM(A2:A2)');//公式
//顯式指定內容類型
$objActSheet->setCellValueExplicit('A5','8757584',PHPExcel_Cell_DataType::TYPE_STRING);
//合併單元格
$objActSheet->mergeCells('B1:C22');
//分離單元格
$objActSheet->unmergeCells('B1:C22');
//默認列寬
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(12);
//默認行寬
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);
//設置寬度
$objActSheet->getColumnDimension('B')->setAutoSize(true);
$objActSheet->getColumnDimension('A')->setWidth(30);
//設置格式爲PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大數字
//被使用科學記數方式顯示,配合下面的setAutoSize方法可以讓每一行的內容
//都按原始內容全部顯示出來。
$objStyleA5=$objActSheet->getStyle('A5');
$objStyleA5->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
//日期格式化
$objPHPExcel->getActiveSheet()->setCellValue('D1', time());
$objPHPExcel->getActiveSheet()->getStyle('D1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);
//數字格式化
$objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
//設置字體
$objFontA5=$objStyleA5->getFont();
$objFontA5->setName('CourierNew');
$objFontA5->setSize(10);
$objFontA5->setBold(true);
$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objFontA5->getColor()->setARGB('FFFF0000');
$objFontA5->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
//$objFontA5->getFont()->setColor(PHPExcel_Style_Color::COLOR_RED);
//設置對齊方式 ->setCellValue('A4', "Hello\nWorld");
$objAlignA5=$objStyleA5->getAlignment();
$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objAlignA5->setWrapText(true);//自動換行,前提是單元格內的值超列寬,或者在值內寫入個\n
//設置邊框
$objBorderA5=$objStyleA5->getBorders();
$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getTop()->getColor()->setARGB('FFFF0000');//邊框color
$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//設置CELL填充顏色
$objFillA5=$objStyleA5->getFill();
$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objFillA5->getStartColor()->setARGB('FFEEEEEE');
//從指定的單元格複製樣式信息.
$objActSheet->duplicateStyle($objStyleA5,'B1:C22');
//添加圖片
$objDrawing = newPHPExcel_Worksheet_Drawing();
$objDrawing->setName('ZealImg');
$objDrawing->setDescription('ImageinsertedbyZeal');
$objDrawing->setPath('./zeali.net.logo.gif');
$objDrawing->setHeight(36);
$objDrawing->setCoordinates('C23');
$objDrawing->setOffsetX(10);
$objDrawing->setRotation(15);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(36);
$objDrawing->setWorksheet($objActSheet);
//顯示網格線:
$objPHPExcel->getActiveSheet()->setShowGridlines(true);
//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.');
//Add rich-text string 添加文字 可設置樣式
$objRichText = new PHPExcel_RichText( $objPHPExcel->getActiveSheet()->getCell('A18') );
$objRichText->createText('This invoice is ');
$objPayable = $objRichText->createTextRun('payable within thirty days after the end of the month');
$objPayable->getFont()->setBold(true);
$objPayable->getFont()->setItalic(true);
$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) );
$objRichText->createText(', unless specified otherwise on the invoice.');
//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);
//Play around with 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');
//設置文檔安全 打開需要密碼Excel2007生效
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel");
//設置工作表安全 全部只讀
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setVisible(false);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setCollapsed(true);
//Freeze panes
$objPHPExcel->getActiveSheet()->freezePane('A2');
//Rows to repeat at top
$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1);
//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);
//創建新的工作標籤
$objPHPExcel->createSheet();
//顯示隱藏列
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false);
//顯示隱藏行
$objPHPExcel->getActiveSheet()->getRowDimension('10')->setVisible(false);
set_include_path('.'.PATH_SEPARATOR.'D:\workspace\biznaligy_eh\dev_src\includes\PHPExcel'.PATH_SEPARATOR.get_include_path());
//創建一個處理對象實例
$objPHPExcel=new PHPExcel();
//創建文件格式寫入對象實例,uncomment
//$objWriter=new PHPExcel_Writer_Excel2007($objPHPExcel);//用於2007格式
//$objWriter->setOffice2003Compatibility(true);
//設置文檔基本屬性
$objProps=$objPHPExcel->getProperties();
$objProps->setCreator("ZealLi");
$objProps->setLastModifiedBy("ZealLi");
$objProps->setTitle("OfficeXLSTestDocument");
$objProps->setSubject("OfficeXLSTestDocument,Demo");
$objProps->setDescription("Testdocument,generatedbyPHPExcel.");
$objProps->setKeywords("officeexcelPHPExcel");
$objProps->setCategory("Test");
//設置當前的sheet索引,用於後續的內容操作。一般只有在使用多個sheet的時候才需要顯示調用。
//缺省情況下,PHPExcel會自動創建第一個sheet被設置SheetIndex=0
$objPHPExcel->setActiveSheetIndex(0);
$objActSheet=$objPHPExcel->getActiveSheet();
//設置當前活動sheet的名稱
$objActSheet->setTitle('測試Sheet');
//設置單元格內容由PHPExcel根據傳入內容自動判斷單元格內容類型
$objActSheet->setCellValue('A1','字符串內容');//字符串內容
$objActSheet->setCellValue('A2',26);//數值
$objActSheet->setCellValue('A3',true);//布爾值
$objActSheet->setCellValue('A4','=SUM(A2:A2)');//公式
//顯式指定內容類型
$objActSheet->setCellValueExplicit('A5','8757584',PHPExcel_Cell_DataType::TYPE_STRING);
//合併單元格
$objActSheet->mergeCells('B1:C22');
//分離單元格
$objActSheet->unmergeCells('B1:C22');
//默認列寬
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(12);
//默認行寬
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);
//設置寬度
$objActSheet->getColumnDimension('B')->setAutoSize(true);
$objActSheet->getColumnDimension('A')->setWidth(30);
//設置格式爲PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大數字
//被使用科學記數方式顯示,配合下面的setAutoSize方法可以讓每一行的內容
//都按原始內容全部顯示出來。
$objStyleA5=$objActSheet->getStyle('A5');
$objStyleA5->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
//日期格式化
$objPHPExcel->getActiveSheet()->setCellValue('D1', time());
$objPHPExcel->getActiveSheet()->getStyle('D1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);
//數字格式化
$objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
//設置字體
$objFontA5=$objStyleA5->getFont();
$objFontA5->setName('CourierNew');
$objFontA5->setSize(10);
$objFontA5->setBold(true);
$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objFontA5->getColor()->setARGB('FFFF0000');
$objFontA5->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
//$objFontA5->getFont()->setColor(PHPExcel_Style_Color::COLOR_RED);
//設置對齊方式 ->setCellValue('A4', "Hello\nWorld");
$objAlignA5=$objStyleA5->getAlignment();
$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objAlignA5->setWrapText(true);//自動換行,前提是單元格內的值超列寬,或者在值內寫入個\n
//設置邊框
$objBorderA5=$objStyleA5->getBorders();
$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getTop()->getColor()->setARGB('FFFF0000');//邊框color
$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//設置CELL填充顏色
$objFillA5=$objStyleA5->getFill();
$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objFillA5->getStartColor()->setARGB('FFEEEEEE');
//從指定的單元格複製樣式信息.
$objActSheet->duplicateStyle($objStyleA5,'B1:C22');
//添加圖片
$objDrawing = newPHPExcel_Worksheet_Drawing();
$objDrawing->setName('ZealImg');
$objDrawing->setDescription('ImageinsertedbyZeal');
$objDrawing->setPath('./zeali.net.logo.gif');
$objDrawing->setHeight(36);
$objDrawing->setCoordinates('C23');
$objDrawing->setOffsetX(10);
$objDrawing->setRotation(15);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(36);
$objDrawing->setWorksheet($objActSheet);
//顯示網格線:
$objPHPExcel->getActiveSheet()->setShowGridlines(true);
//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.');
//Add rich-text string 添加文字 可設置樣式
$objRichText = new PHPExcel_RichText( $objPHPExcel->getActiveSheet()->getCell('A18') );
$objRichText->createText('This invoice is ');
$objPayable = $objRichText->createTextRun('payable within thirty days after the end of the month');
$objPayable->getFont()->setBold(true);
$objPayable->getFont()->setItalic(true);
$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) );
$objRichText->createText(', unless specified otherwise on the invoice.');
//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);
//Play around with 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');
//設置文檔安全 打開需要密碼Excel2007生效
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel");
//設置工作表安全 全部只讀
$objPHPExcel->getActiveSheet()->getProtection()->setPassword('password');//設置保護密碼
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);// This should be enabled in order to enable any of the following!
$objPHPExcel->getActiveSheet()->protectCells('A1:C22');
//Set outline levels$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setVisible(false);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setCollapsed(true);
//Freeze panes
$objPHPExcel->getActiveSheet()->freezePane('A2');
//Rows to repeat at top
$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1);
//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);
//創建新的工作標籤
$objPHPExcel->createSheet();
//顯示隱藏列
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false);
//顯示隱藏行
$objPHPExcel->getActiveSheet()->getRowDimension('10')->setVisible(false);
//worksheet默認style設置(和默認不同的需單獨設置)
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(8);
$alignment = $objPHPExcel->getActiveSheet()->getDefaultStyle()->getAlignment();
$alignment->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$alignment->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
做軟件中難免會遇到數據導入的功能,而數據導入要生成一個模板,模板中有些字段是需要固定那幾種的,下拉菜單,就是EXCEL中的數據有效性,簡單研究一下,下面把源碼貼出來:
$objValidation = $objActSheet->getCell("A1")->getDataValidation(); //這一句爲要設置數據有效性的單元格
$objValidation -> setType(PHPExcel_Cell_DataValidation::TYPE_LIST)
-> setErrorStyle(PHPExcel_Cell_DataValidation::STYLE_INFORMATION)
-> setAllowBlank(false)
-> setShowInputMessage(true)
-> setShowErrorMessage(true)
-> setShowDropDown(true)
-> setErrorTitle('輸入的值有誤')
-> setError('您輸入的值不在下拉框列表內.')
-> setPromptTitle('設備類型')
-> setFormula1('"列表項1,列表項2,列表項3"');
上面的導出已實現,下面記錄一些有用的方法
public function getCellByColumnAndRow($pColumn = 0, $pRow = 0) {return $this->getCell(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow);
}
print_r(PHPExcel_Cell::columnIndexFromString('D'));exit; //echo 4
echo PHPExcel_Cell::stringFromColumnIndex(4) // echo E
//phpexcel默認是沒有凍結的,下面是凍結列。定二則定全部
$sheet->freezePane('A1');
$sheet->freezePane('B1');
凍結行
$sheet->freezePane('D1');
$sheet->freezePane('D2');
不能再次定義A,b,c否則列凍結被替代
$sheet->freezePane('A1');
$sheet->freezePane('B1');
凍結行
$sheet->freezePane('D1');
$sheet->freezePane('D2');
不能再次定義A,b,c否則列凍結被替代
public function freezePaneByColumnAndRow($pColumn = 0, $pRow = 0){
$this->freezePane(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow);
}
public function unfreezePane() {
$this->freezePane('');
}
$worksheet->setInputEncoding("UTF-8");
//$freeze = $sheet->getFreezePane();
$this->freezePane(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow);
}
public function unfreezePane() {
$this->freezePane('');
}
$worksheet->setInputEncoding("UTF-8");
//$freeze = $sheet->getFreezePane();
用phpexcel批量設置單元格格式
$style_obj = new PHPExcel_Style();
$style_array = array(
'borders' => array( //上下左右畫線
'top' => array('style' => PHPExcel_Style_Border::BORDER_THIN),
'left' => array('style' => PHPExcel_Style_Border::BORDER_THIN),
'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN),
'right' => array('style' => PHPExcel_Style_Border::BORDER_THIN)
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, //橫向居中
'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER, //縱向居中
'wrap' => true //自動換行
)
);
$style_obj->applyFromArray($style_array);
$objExcel->getActiveSheet()->setSharedStyle($style_obj, "A1:J35");
phpexcel大數據導出,數據追加(19萬行,分20個sheet, 1萬行是一個sheet,第一次到1個sheet數據,其他數據追加到excel,分19次覆蓋對應的sheet)
先用 PhpExcel 建立reader,再load文件,這樣打開已經存在的文檔,然後再建立writer,將reader中的數據都複製過來,再用 PhpExcel 進行數據修改,再以load的文件名覆蓋保存。
$reader = new PHPExcel_Reader_Excel2007;
$workbook = $reader->load("document.xlsx");
$workbook->getActiveSheet()->getSecurity()->setWorkbookPassword("your password");
方法二,分批導出,導出多次,多個文件