PHPEXCEL 教學:從入門到精通,一步步掌握資料處理技巧

深入學習PHPEXcel:提供全面教學,包括安裝、基本操作、資料讀取與寫入,助您輕鬆處理Excel文件。

讓資訊整合更靈活

記錄、協作、成長 — Notion帶來比Excel更靈活的工作方式!
免費使用

200+模板自動化工作流程

從數據到成果,只需一步 — 用Monday代替Excel,效率倍增!
免費使用

AI智能團隊協作

AI驅動的ClickUp超越Excel,讓工作更精準快速!
免費使用

什麼是PHPExcel?

PHPExcel是一個強大的PHP庫,用於讀取和寫入Office Excel格式(.xls和.xlsx)。它允許開發者在PHP中輕鬆地創建、操作和讀取Excel文件,而不需要依賴Excel程序本身。

安裝PHPExcel

通過Composer安裝

Composer是PHP的包管理器,可以輕鬆地下載並安裝包括PHPExcel在內的各種PHP庫。要使用Composer安裝PHPExcel,你可以執行以下命令:

composer require phpoffice/phpexcel

手動安裝

如果你不使用Composer,你也可以手動下載PHPExcel庫並將其包含到你的項目中。你可以從GitHub頁面下載最新版本的PHPExcel。下載完成後,將解壓縮的文件夾放入你的項目目錄中,然後根據以下示例包含PHPExcel:

require 'path/to/PHPExcel.php';

基本使用方式

創建一個新的Excel文件

使用PHPExcel創建一個新的Excel文件非常簡單。以下是創建一個簡單的Excel文件並保存的範例:


// 載入PHPExcel類
require 'path/to/PHPExcel.php';

// 創建一個新的對象
$objPHPExcel = new PHPExcel();

// 設置文件屬性
$objPHPExcel->getProperties()->setCreator('Me')
                             ->setLastModifiedBy('Me')
                             ->setTitle('Office XLSX Test Document')
                             ->setSubject('Office XLSX Test Document')
                             ->setDescription('Test document for Office XLSX, generated using PHP classes.')
                             ->setKeywords('office PHPExcel php')
                             ->setCategory('Test result file');

// 添加數據
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello')
            ->setCellValue('B2', 'world!')
            ->setCellValue('C1', 'Hello')
            ->setCellValue('D2', 'world!');

// 命名工作表
$objPHPExcel->getActiveSheet()->setTitle('Simple');

// 將文件保存到本地
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('hello_world.xlsx');

讀取Excel文件

讀取Excel文件同樣簡單。以下是一個讀取Excel文件並輸出其內容的範例:


// 載入PHPExcel類
require 'path/to/PHPExcel.php';
require 'path/to/PHPExcel/IOFactory.php';

// 加載Excel文件
$objPHPExcel = PHPExcel_IOFactory::load('hello_world.xlsx');

// 獲取第一個工作表
$sheet = $objPHPExcel->getSheet(0);

// 獲取行數和列數
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();

// 遍歷工作表內容
for ($row = 1; $row <= $highestRow; $row++) {
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
    echo implode("t", $rowData[0]) . PHP_EOL;
}

其他進階功能

設置單元格樣式

當創建Excel文件時,你可能需要設置單元格的樣式,例如字體、顏色、對齊方式等。以下範例展示了如何設置單元格樣式:


// 設置單元格字體樣式
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(12);

// 設置單元格背景顏色
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->applyFromArray(
    array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array('rgb' => 'FF0000')
    )
);

// 設置單元格邊框
$objPHPExcel->getActiveSheet()->getStyle('A1')->getBorders()->applyFromArray(
    array(
        'allborders' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN,
            'color' => array('rgb' => '000000')
        )
    )
);

合併單元格

有時你可能需要合併多個單元格。以下範例展示了如何合併單元格:


// 合併單元格
$objPHPExcel->getActiveSheet()->mergeCells('A1:C1');
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Merged Cells');

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *