PHPEXCEL是一個優秀的PHP讀寫Excel文件的類庫,它提供了非常充分的API,能夠讓我們使用PHP來讀寫Excel文件。而有些時候,我們需要將Excel文件轉換成CSV文件,在一些場合下使用。
本文主要講述如何使用PHPEXCEL類庫將Excel文件轉換成CSV文件,并進行打開。
一、轉換Excel文件為CSV格式
步驟1:安裝PHPEXCEL類庫
首先,我們需要使用Composer來安裝PHPEXCEL類庫,可以使用以下命令:
composer require phpoffice/phpexcel
步驟2:讀取Excel文件
使用PHPEXCEL讀取Excel文件并轉換為CSV文件,我們需要用到以下代碼
// 加載類庫 require_once 'vendor/autoload.php'; // 讀取Excel文件 $inputExcel = './data/test.xlsx'; $phpExcel = PHPExcel_IOFactory::load($inputExcel); // 獲取工作表 $sheet = $phpExcel->getActiveSheet(); // 循環遍歷工作表 foreach ($sheet->getRowIterator() as $row) { $csv = []; $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach ($cellIterator as $cell) { $csv[] = $cell->getValue(); } echo implode(',', $csv), PHP_EOL; }
步驟3:將Excel文件轉換為CSV文件
我們可以將上述代碼中的echo
換成將數據寫入CSV文件中,完整代碼如下
// 加載類庫 require_once 'vendor/autoload.php'; // 讀取Excel文件 $inputExcel = './data/test.xlsx'; $phpExcel = PHPExcel_IOFactory::load($inputExcel); // 定義CSV文件名和路徑 $outputCSV = './data/test.csv'; // 打開CSV文件并追加數據 $file = fopen($outputCSV, 'a+'); // 獲取工作表 $sheet = $phpExcel->getActiveSheet(); // 循環遍歷工作表 foreach ($sheet->getRowIterator() as $row) { $csv = []; $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); foreach ($cellIterator as $cell) { $csv[] = $cell->getValue(); } // 將數據寫入CSV文件中 fwrite($file, implode(',', $csv) . PHP_EOL); } // 關閉CSV文件 fclose($file);
在上述代碼中,我們首先定義要寫入CSV文件的文件名和路徑,然后使用fopen
函數打開CSV文件,并且設置打開方式為追加數據。接著,我們循環遍歷Excel文件的每一行,并使用foreach
循環遍歷每一行中的單元格,并將單元格的值存儲到一個數組中。最后,我們使用fwrite
函數將每一行數據寫入CSV文件中。最后,我們使用fclose
函數關閉CSV文件。
二、打開CSV格式文件
完成Excel文件轉換為CSV文件后,我們需要打開CSV文件,并且使用Excel或文本編輯器查看其內容。
如果需要在Excel中查看CSV文件,可以使用以下步驟來打開:
啟動Excel應用程序。
點擊“文件”->“打開”。
導航到CSV文件的位置,并選擇該文件。
選擇“文件類型”下拉菜單中的“文本文件”。
點擊“打開”。
在“文本導入向導”窗口中,確保“分隔符”選項卡被選中。下面的“分隔符類型”選項卡應選擇“逗號”。
點擊“下一步”。
在“分隔符”選項卡上選擇用于分隔數據的分隔符(例如逗號)。
點擊“下一步”。
如果數據列的格式沒有問題,不需要做任何更改,直接點擊“下一步”。
在“目標”步驟中,選擇Excel文件的工作表。
點擊“完成”。
如果需要使用文本編輯器打開CSV文件,可以直接用文本編輯器打開即可,文件的數據內容將會以純文本的形式顯示。
結論
在本文中,我們介紹了如何使用PHPEXCEL類庫將Excel文件轉換為CSV格式,并對其進行了打開。希望能夠幫助讀者更好地利用PHPEXCEL類庫。