当前位置:首页 > PHP

php实现对excel

2026-03-13 04:18:37PHP

PHP 实现 Excel 操作的方法

使用 PHPExcel 或 PhpSpreadsheet 库

PhpSpreadsheet 是 PHPExcel 的继任者,推荐使用 PhpSpreadsheet 进行 Excel 操作。以下是一个简单的示例,展示如何读取和写入 Excel 文件。

安装 PhpSpreadsheet:

composer require phpoffice/phpspreadsheet

读取 Excel 文件

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\IOFactory;

$inputFileName = 'example.xlsx';
$spreadsheet = IOFactory::load($inputFileName);
$sheet = $spreadsheet->getActiveSheet();

foreach ($sheet->getRowIterator() as $row) {
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(false);

    foreach ($cellIterator as $cell) {
        echo $cell->getValue() . "\t";
    }
    echo "\n";
}

写入 Excel 文件

require 'vendor/autoload.php';

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

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

$writer = new Xlsx($spreadsheet);
$writer->save('hello_world.xlsx');

导出 Excel 文件到浏览器

require 'vendor/autoload.php';

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

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

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="hello_world.xlsx"');
header('Cache-Control: max-age=0');

$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
exit;

使用 PHP 原生函数处理 CSV 文件

如果只需要处理简单的 CSV 文件,可以使用 PHP 的原生函数。

读取 CSV 文件:

php实现对excel

$file = fopen('example.csv', 'r');
while (($line = fgetcsv($file)) !== false) {
    print_r($line);
}
fclose($file);

写入 CSV 文件:

$file = fopen('example.csv', 'w');
$data = [
    ['Name', 'Email'],
    ['John Doe', 'john@example.com'],
    ['Jane Doe', 'jane@example.com']
];

foreach ($data as $row) {
    fputcsv($file, $row);
}
fclose($file);

使用 SimpleExcel 库

SimpleExcel 是一个轻量级的 PHP 库,适合简单的 Excel 操作。

php实现对excel

安装 SimpleExcel:

composer require faisalman/simple-excel-php

读取 Excel 文件:

require 'vendor/autoload.php';

use SimpleExcel\SimpleExcel;

$excel = new SimpleExcel('csv');
$excel->parser->loadFile('example.csv');
$rows = $excel->parser->getField();
print_r($rows);

写入 Excel 文件:

require 'vendor/autoload.php';

use SimpleExcel\SimpleExcel;

$excel = new SimpleExcel('csv');
$data = [
    ['Name', 'Email'],
    ['John Doe', 'john@example.com'],
    ['Jane Doe', 'jane@example.com']
];
$excel->writer->setData($data);
$excel->writer->saveFile('example');

注意事项

  • PhpSpreadsheet 功能强大,但处理大文件时可能消耗较多内存。
  • 对于大型文件,考虑使用流式处理或分批处理。
  • CSV 文件处理简单,但不支持 Excel 的高级功能如样式、公式等。

标签: phpexcel
分享给朋友:

相关文章

php实现递归

php实现递归

递归的基本概念 递归是一种函数调用自身的技术,适用于解决可以分解为相同子问题的问题。在PHP中,递归需要明确的终止条件(基线条件),否则会导致无限循环。 递归实现阶乘 阶乘是经典的递归案例,n! =…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

php实现搜索

php实现搜索

PHP实现搜索功能的方法 在PHP中实现搜索功能通常涉及数据库查询和用户输入的匹配。以下是几种常见的实现方式: 使用MySQL LIKE语句 通过简单的LIKE语句实现基础搜索: $searchT…

php 实现接口

php 实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不包含具体的实现。类可以实现(implement)接口,并必须实现接口中定义的所有方法。 定义接口 接口通…

php实现推送

php实现推送

PHP 实现推送功能的方法 PHP 实现推送功能可以通过多种方式完成,包括 WebSocket、Server-Sent Events (SSE)、长轮询或第三方推送服务。以下是几种常见的方法: 使用…

php实现博客

php实现博客

使用PHP实现博客系统 数据库设计 创建数据库表存储博客文章和用户信息。常见的表包括posts(文章)和users(用户)。 CREATE TABLE users ( id INT AUTO…