📜  csv utf-8 excel转php(1)

📅  最后修改于: 2023-12-03 15:00:10.251000             🧑  作者: Mango

CSV UTF-8 Excel 转换成 PHP

在开发过程中,我们常常需要将 CSV 文件转换成 PHP 数组或者导入到 Excel 中进行处理。本文将介绍如何使用 PHP 将 UTF-8 编码的 CSV 文件转换成 PHP 数组,并且演示如何导出并生成 Excel 文件。

CSV 文件转换成 PHP 数组
<?php

$csvFile = 'path/to/file.csv';

// 读取 CSV 文件内容
$data = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {
    while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $data[] = $row;
    }
    fclose($handle);
}

// 打印 PHP 数组
print_r($data);

?>

以上代码片段演示了如何读取 CSV 文件并将其内容存储在 PHP 数组中。你只需要将 $csvFile 变量替换成你要读取的 CSV 文件路径即可。

导出 PHP 数组到 Excel 文件

为了将 PHP 数组导出为 Excel 文件,我们可以使用 PHPExcel 或者 PhpSpreadsheet 这样的库。这两个库提供了丰富的功能,可以轻松地生成、编辑和导出 Excel 文件。

你可以使用 Composer 来安装 PhpSpreadsheet:

composer require phpoffice/phpspreadsheet

下面是一个简单的例子,展示了如何使用 PhpSpreadsheet 导出一个包含数据的 Excel 文件:

<?php

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello');
$sheet->setCellValue('B1', 'World !');

$writer = new Xlsx($spreadsheet);
$writer->save('path/to/file.xlsx');

?>

以上代码利用 PhpSpreadsheet 创建了一个包含 "Hello" 和 "World" 两个单元格的 Excel 文件,并保存到指定路径。你可以根据自己的需求修改 $sheet 对象以及单元格数值。

导入 Excel 文件到 PHP 数组

如果你需要将 Excel 文件导入成 PHP 数组,同样可以使用 PhpSpreadsheet 库。下面是一个简单的例子:

<?php

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\IOFactory;

$spreadsheet = IOFactory::load('path/to/file.xlsx');
$data = $spreadsheet->getActiveSheet()->toArray();

print_r($data);

?>

以上代码将 Excel 文件读取并存储到 $data 数组中。你可以根据需要调整文件路径以及其他选项。

以上是关于如何在 PHP 中转换 CSV、导出 Excel 文件以及导入 Excel 文件的介绍。希望对你有所帮助!