ThinkPHP中實現調用PHPExcel的方法

來源:互聯網
上載者:User
本文介紹ThinkPHP中處理匯出成Excel檔案的一個PHP庫,PHPExcel。它可以很容易的產生出一個完整的、複雜的Excel檔案,需要的朋友可以參考下

核心代碼:

//引入PHPExcelvendor('PHPExcel.PHPExcel');// Create new PHPExcel object$objPHPExcel = new PHPExcel();//設定文件屬性$objPHPExcel->getProperties()    ->setCreator("web100.cc")    ->setLastModifiedBy("web100.cc")    ->setTitle("Office 2007 XLSX Test Document")    ->setSubject("Office 2007 XLSX Test Document")    ->setDescription("Test document generated using PHP classes.")    ->setKeywords("office 2007 openxml php")    ->setCategory("Test result file");    //設定當前活動的sheet$objPHPExcel->setActiveSheetIndex(0);//選定當前Sheet$objActSheet = $objPHPExcel->11getActiveSheet(); //設定sheet名字$objActSheet->setTitle('phpexcel demo'); //設定預設行高$objActSheet->getDefaultRowDimension()->setRowHeight(15); //由PHPExcel根據傳入內容自動判斷儲存格內容類型$objActSheet->setCellValue('A1', "Firstname");$objActSheet->setCellValue('B1', "Lastname");$objActSheet->setCellValue('C1', "Phone");$objActSheet->setCellValue('D1', "Fax");$objActSheet->setCellValue('E1', "Address");$objActSheet->setCellValue('F1', "ZIP");$objActSheet->setCellValue('G1', "DATE");  $objActSheet->setCellValueByColumnAndRow(0, 8, 'firstname');$objActSheet->setCellValueByColumnAndRow(1, 8, 'lastname');  // 儲存格填補值值$objActSheet->setCellValue('A2', "小風");$objActSheet->setCellValue('B2', "wang");//設定列寬$objActSheet->getColumnDimension('C')->setWidth('20');  // 設定行高$objActSheet->getRowDimension('9')->setRowHeight(20); //第9行// 設定字型$objActSheet->getStyle('A1')->getFont()->setName('宋體');// 字型大小$objActSheet->getStyle('A1')->getFont()->setSize(12);// 加粗$objActSheet->getStyle('A1')->getFont()->setBold(true);//說明:$objActSheet->getStyle('A1:G10'),可以通過這種方式來選擇一片儲存格!// 設定儲存格格式$objActSheet->getCell('C2')->setValueExplicit('861391327543258', PHPExcel_Cell_DataType::TYPE_NUMERIC); // 日期$objActSheet->setCellValue('G2', '2008-12-31');$objActSheet->getStyle('G2')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); // 時間戳記$time = gmmktime(0,0,0,12,31,2008); // int(1230681600)$objActSheet->setCellValue('G3', PHPExcel_Shared_Date::PHPToExcel($time));$objActSheet->getStyle('G3')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); // url$objActSheet->setCellValue('G11', 'www.spalybow.com');$objActSheet->getCell('G11')->getHyperlink()->setUrl('http://www.spalybow.com'); // 另一個sheet$objActSheet->setCellValue('G12', 'sheetb');$objActSheet->getCell('G12')->getHyperlink()->setUrl("sheet://'sheetb'!A1"); // 水平居上$objActSheet->getStyle('A9:B9')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); // 儲存格換行$objActSheet->getStyle('G2:G3')->getAlignment()->setWrapText(true); // 合并$objActSheet->mergeCells('A18:E22');  // 隱藏D列$objActSheet->getColumnDimension('D')->setVisible(false); //$objActSheet->getColumnDimension('E')->setOutlineLevel(1);$objActSheet->getColumnDimension('E')->setVisible(false);$objActSheet->getColumnDimension('F')->setOutlineLevel(1);$objActSheet->getColumnDimension('F')->setVisible(false);$objActSheet->getColumnDimension('F')->setCollapsed(true); // 固定第一行$objActSheet->freezePane('A2'); // 保護工作表$objActSheet->getProtection()->setPassword('PHPExcel');$objActSheet->getProtection()->setSheet(true);$objActSheet->getProtection()->setSort(true);$objActSheet->getProtection()->setInsertRows(true);$objActSheet->getProtection()->setFormatCells(true); //設定邊框$sharedStyle1 = new PHPExcel_Style();$sharedStyle1->applyFromArray(  array('borders' => array(                'left'    => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM)              )     ));$objActSheet->setSharedStyle($sharedStyle1, "B1:B10"); // 建立一個新的工作表$objWorksheet1 = $objPHPExcel->createSheet();$objWorksheet1->setTitle('sheetb');  $objPHPExcel->setActiveSheetIndex(1);  // 建立一個圖片$gdImage = @imagecreatetruecolor(200, 20) or die('Cannot Initialize new GD image stream');$textColor = imagecolorallocate($gdImage, 255, 255, 255);imagestring($gdImage, 1, 5, 5, 'Created with PHPExcel (c1gstudio.com)', $textColor); // 把建立的圖片添加到工作表$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();$objDrawing->setName('Sample image');$objDrawing->setDescription('Sample image');$objDrawing->setImageResource($gdImage);$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);$objDrawing->setHeight(36);$objDrawing->setWorksheet($objActSheet); $objPHPExcel->setActiveSheetIndex(0); // 儲存$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('testexcel'.time().'.xls');


以上就是本文的全部內容,希望對大家的學習有所協助。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.