一、合併儲存格
二、取得儲存格物件
三、透過儲存格物件設值
一、合併儲存格
$objWorksheet->mergeCells("A1:B1");
$objWorksheet->setCellValue("A1", "電話簿");
二、取得儲存格物件
要將值填入儲存格中,最簡單的就是用 setCellValue() 直接指定儲存格位置及要填入的值,例如 :
$objWorksheet->setCellValue("B1","電話");
但是這種方式在某些情況下並不太好用,所以 PHPExcel 提供了其他的方式來完成這項工作。
首先,我們得取得儲存格物件,這可以透過 getCell() 或是 getCellByColumnAndRow() 來完成
$objCell = $objWorksheet->getCell("B1");
或是$objCell = $objWorksheet->getCellByColumnAndRow(1, 1);這兩行程式碼的效果是一樣的
在這要注意的是 Column(行) 是由 0 起算,也是是 A 為 0、B 為 1;Row(列) 則是由 1 起算
三、透過儲存格物件設值
取得儲存格物件後,就可以用 setValue() 來設值
$objCell->setValue("電話");
也可以用 method chaining 的方式,將以上二個步驟用以以下的方式來改寫:
$objWorksheet->getCellByColumnAndRow(1, 1)->setValue("電話");
比較完整的程式範例如下:
// 檔案名稱:phpexcel_example_02.php
// 引入 PHPExcel 函式庫
include_once "Classes/PHPExcel.php";
//接著我們要生成一個 PHPExcel 物件來幫忙我們處理 Excel 檔案
$objPHPExcel = new PHPExcel();
// 將活頁簿裏的第一張工作表設為要操作的工作表
$objPHPExcel->setActiveSheetIndex(0);
// 取得工作表物件
$objWorksheet = $objPHPExcel->getActiveSheet();
// 合併儲存格並將值填入儲存格中
$objWorksheet->mergeCells("A1:B1");
$objWorksheet->setCellValue("A1", "電話簿");
// 將值填入儲存格中
$objWorksheet->getCell("A2")->setValue("姓名");
$objWorksheet->getCell("B2")->setValue("電話");
$objWorksheet->getCellByColumnAndRow(0, 3)->setValue("王小明");
$objWorksheet->getCellByColumnAndRow(1, 3)->setValue("0911222333");
$objWorksheet->getCellByColumnAndRow(0, 4)->setValue("張小志");
$objWorksheet->getCellByColumnAndRow(1, 4)->setValue("0944555666");
$objWorksheet->getCellByColumnAndRow(0, 5)->setValue("陳小祥");
$objWorksheet->getCellByColumnAndRow(1, 5)->setValue("0977888999");
// 輸出 header
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment;filename=test_02.xls");
header("Cache-Control: max-age=0");
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
範例檔 phpexcel_example_02.php
沒有留言:
張貼留言