當前位置: 首頁> 最新文章列表> PHP數據導入與導出技巧:實現Excel和CSV文件處理功能

PHP數據導入與導出技巧:實現Excel和CSV文件處理功能

M66 2025-06-26

PHP開發技巧:如何實現數據導入和導出功能

在Web開發過程中,數據導入和導出功能是常見的需求。無論是從Excel文件導入數據到數據庫,還是將數據從數據庫導出為Excel、CSV等格式,掌握這些技巧可以大大提高開發效率。本文將介紹如何使用PHP實現這些功能,並提供具體的代碼示例。

數據導入

在實現數據導入功能時,我們常常需要處理Excel文件。 PHP提供了多個庫來處理Excel文件,其中最常用的是PHPExcel庫。首先,我們需要安裝並引入PHPExcel庫。

<?php
// 引入PHPExcel庫
require_once 'PHPExcel/PHPExcel.php';
require_once 'PHPExcel/PHPExcel/IOFactory.php';
?>

接下來,我們可以通過以下代碼將Excel文件中的數據導入到數據庫中:

<?php
// 讀取Excel文件
$inputFileName = 'data.xlsx';
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader-> load($inputFileName);

// 獲取工作表中的數據$worksheet = $objPHPExcel->getActiveSheet();
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();

for ($row = 1; $row <= $highestRow; $row++) {
    $rowData = $worksheet->rangeToArray(&#39;A&#39; . $row . &#39;:&#39; . $highestColumn . $row, null, true, false);
    
    // 插入數據庫$sql = "INSERT INTO table_name (column1, column2, column3) VALUES (&#39;" . $rowData[0][0] . "&#39;, &#39;" . $rowData[0][1] . "&#39;, &#39;" . $rowData[0][2] . "&#39;)";
    // 執行SQL語句}
?>

以上代碼將Excel文件中的數據逐行讀取並插入到數據庫中。

數據導出

在實現數據導出功能時,我們通常需要將數據導出為Excel或CSV文件。對於Excel導出,我們仍然可以使用PHPExcel庫。以下是將數據庫中的數據導出為Excel文件的示例代碼:

<?php
// 創建PHPExcel對象
$objPHPExcel = new PHPExcel();

// 添加數據
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue(&#39;A1&#39;, &#39;Column1&#39;);
$objPHPExcel->getActiveSheet()->setCellValue(&#39;B1&#39;, &#39;Column2&#39;);
$objPHPExcel->getActiveSheet()->setCellValue(&#39;C1&#39;, &#39;Column3&#39;);

// 查詢數據庫獲取數據$sql = "SELECT column1, column2, column3 FROM table_name";
$result = mysqli_query($conn, $sql);

// 寫入數據庫數據$row = 2;
while ($row_data = mysqli_fetch_assoc($result)) {
    $objPHPExcel->getActiveSheet()->setCellValue(&#39;A&#39; . $row, $row_data[&#39;column1&#39;]);
    $objPHPExcel->getActiveSheet()->setCellValue(&#39;B&#39; . $row, $row_data[&#39;column2&#39;]);
    $objPHPExcel->getActiveSheet()->setCellValue(&#39;C&#39; . $row, $row_data[&#39;column3&#39;]);
    $row++;
}

// 導出Excel文件$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, &#39;Excel2007&#39;);
$objWriter->save(&#39;data.xlsx&#39;);
?>

以上代碼將從數據庫中獲取的數據逐行寫入Excel文件,並保存為data.xlsx。

如果你希望將數據導出為CSV文件,可以使用以下代碼示例:

<?php
// 設定HTTP響應頭
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="data.csv"');

// 查询数据庫获取数据
$sql = "SELECT column1, column2, column3 FROM table_name";
$result = mysqli_query($conn, $sql);

// 輸出CSV文件
while ($row_data = mysqli_fetch_assoc($result)) {
    echo $row_data['column1'] . ',' . $row_data['column2'] . ',' . $row_data['column3'] . "\n";
}
?>

以上代碼會將數據以CSV格式輸出到瀏覽器,用戶可以選擇將其保存為data.csv文件。

總結

通過本文的示例代碼,我們了解瞭如何使用PHP實現數據導入和導出功能。通過使用PHPExcel庫,我們可以輕鬆地處理Excel文件的數據導入和導出;同時,我們也演示瞭如何將數據導出為CSV格式。這些技巧可以幫助開發者更高效地處理數據,提升開發工作效率。