ThinkPHP中調(diào)用PHPExcel的實(shí)現(xiàn)代碼
更新時(shí)間:2017年04月08日 22:27:45 投稿:mdxy-dxy
本文介紹ThinkPHP中處理導(dǎo)出成Excel文件的一個(gè)PHP庫(kù),PHPExcel。它可以很容易的生成出一個(gè)完整的、復(fù)雜的Excel文件,需要的朋友可以參考下
核心代碼:
//引入PHPExcel
vendor('PHPExcel.PHPExcel');
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
//設(shè)置文檔屬性
$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");
//設(shè)置當(dāng)前活動(dòng)的sheet
$objPHPExcel->setActiveSheetIndex(0);
//選定當(dāng)前Sheet
$objActSheet = $objPHPExcel->11getActiveSheet();
//設(shè)置sheet名字
$objActSheet->setTitle('phpexcel demo');
//設(shè)置默認(rèn)行高
$objActSheet->getDefaultRowDimension()->setRowHeight(15);
//由PHPExcel根據(jù)傳入內(nèi)容自動(dòng)判斷單元格內(nèi)容類(lèi)型
$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', "小風(fēng)");
$objActSheet->setCellValue('B2', "wang");
//設(shè)置列寬
$objActSheet->getColumnDimension('C')->setWidth('20');
// 設(shè)置行高
$objActSheet->getRowDimension('9')->setRowHeight(20); //第9行
// 設(shè)置字體
$objActSheet->getStyle('A1')->getFont()->setName('宋體');
// 字號(hào)
$objActSheet->getStyle('A1')->getFont()->setSize(12);
// 加粗
$objActSheet->getStyle('A1')->getFont()->setBold(true);
//說(shuō)明:$objActSheet->getStyle('A1:G10'),可以通過(guò)這種方式來(lái)選擇一片單元格!
// 設(shè)置單元格格式
$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);
// 時(shí)間戳
$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');
// 另一個(gè)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');
// 保護(hù)工作表
$objActSheet->getProtection()->setPassword('PHPExcel');
$objActSheet->getProtection()->setSheet(true);
$objActSheet->getProtection()->setSort(true);
$objActSheet->getProtection()->setInsertRows(true);
$objActSheet->getProtection()->setFormatCells(true);
//設(shè)置邊框
$sharedStyle1 = new PHPExcel_Style();
$sharedStyle1->applyFromArray(
array('borders' => array(
'left' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM)
)
));
$objActSheet->setSharedStyle($sharedStyle1, "B1:B10");
// 創(chuàng)建一個(gè)新的工作表
$objWorksheet1 = $objPHPExcel->createSheet();
$objWorksheet1->setTitle('sheetb');
$objPHPExcel->setActiveSheetIndex(1);
// 創(chuàng)建一個(gè)圖片
$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);
// 把創(chuàng)建的圖片添加到工作表
$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');
您可能感興趣的文章:
- thinkPHP+PHPExcel實(shí)現(xiàn)讀取文件日期的方法(含時(shí)分秒)
- ThinkPHP使用PHPExcel實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)入導(dǎo)出完整實(shí)例
- ThinkPHP基于PHPExcel導(dǎo)入Excel文件的方法
- 詳解thinkphp實(shí)現(xiàn)excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(附完整案例)
- ThinkPHP框架實(shí)現(xiàn)導(dǎo)出excel數(shù)據(jù)的方法示例【基于PHPExcel】
- thinkPHP實(shí)現(xiàn)將excel導(dǎo)入到數(shù)據(jù)庫(kù)中的方法
- thinkphp3.2中實(shí)現(xiàn)phpexcel導(dǎo)出帶生成圖片示例
- 基于ThinkPHP+uploadify+upload+PHPExcel 無(wú)刷新導(dǎo)入數(shù)據(jù)
- tp5(thinkPHP5)框架數(shù)據(jù)庫(kù)Db增刪改查常見(jiàn)操作總結(jié)
- tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)查詢(xún)的方法
- ThinkPHP連接數(shù)據(jù)庫(kù)的方式匯總
- ThinkPHP 框架實(shí)現(xiàn)的讀取excel導(dǎo)入數(shù)據(jù)庫(kù)操作示例
相關(guān)文章
PHP結(jié)合Vue實(shí)現(xiàn)滾動(dòng)底部加載效果
這篇文章主要給大家介紹了關(guān)于PHP結(jié)合Vue如何實(shí)現(xiàn)滾動(dòng)底部加載效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
php實(shí)現(xiàn)接口api數(shù)據(jù)簽名及驗(yàn)簽
api數(shù)據(jù)簽名作用就是通過(guò)使用簽名可以驗(yàn)證數(shù)據(jù)在傳輸過(guò)程中是否被篡改或修改,下面小編就來(lái)為大家介紹一下php如何實(shí)現(xiàn)接口api數(shù)據(jù)簽名及驗(yàn)簽吧2023-11-11
dede3.1分頁(yè)文字采集過(guò)濾規(guī)則詳說(shuō)(圖文教程)續(xù)四
dede3.1分頁(yè)文字采集過(guò)濾規(guī)則詳說(shuō)(圖文教程)續(xù)四...2007-04-04
php 格式化數(shù)字的時(shí)候注意數(shù)字的范圍
因?yàn)?數(shù)據(jù)庫(kù)中 id 可能會(huì)很大 如果使用%d的話(huà),就可能出現(xiàn)因?yàn)槌隽朔秶?而到不到正確的結(jié)果。所以,個(gè)人建議 對(duì)id進(jìn)行格式化的時(shí)候 使用%.0f 比 %d 要 好的多。2010-04-04
原生JS實(shí)現(xiàn)Ajax通過(guò)GET方式與PHP進(jìn)行交互操作示例
這篇文章主要介紹了原生JS實(shí)現(xiàn)Ajax通過(guò)GET方式與PHP進(jìn)行交互操作,涉及javascript ajax交互及php數(shù)據(jù)接收、處理與數(shù)據(jù)庫(kù)查詢(xún)相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
php購(gòu)物網(wǎng)站支付paypal使用方法
PayPal 快速、安全而又方便,是跨國(guó)交易的首選在線(xiàn)付款方式?,F(xiàn)在PayPal可以和國(guó)內(nèi)大部分信用卡關(guān)聯(lián),可以實(shí)現(xiàn)國(guó)人的跨國(guó)交易收支。2010-11-11

