php excel table怎么导出?php导出excel表格乱码怎么办

在 PHP 中处理 Excel 表格(通常指 .xlsx 或 .xls 格式)主要有以下几种常见方式:


✅ 推荐方案:使用第三方库

PhpSpreadsheet(官方推荐,功能强大)

这是 PHP 官方维护的库,支持读写 .xlsx、.xls、.csv 等格式。

PHP高级|PHPExcel+PHP开发框架TP5实现百万级报表数据导入实战教程
加载中
PHP高级|PHPExcel+PHP开发框架TP5实现百万级报表数据导入实战教程

安装

composer require phpoffice/phpspreadsheet

示例:创建 Excel 文件并写入数据

<?php
require 'vendor/autoload.php';
use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// 写入数据
$sheet->setCellValue('A1', '姓名');
$sheet->setCellValue('B1', '年龄');
$sheet->setCellValue('C1', '城市');
$sheet->setCellValue('A2', '张三');
$sheet->setCellValue('B2', 25);
$sheet->setCellVa

php excel table怎么导出?php导出excel表格乱码怎么办

lue('C2', '北京'); $sheet->setCellValue('A3', '李四'); $sheet->setCellValue('B3', 30); $sheet->setCellValue('C3', '上海'); // 保存为 .xlsx 文件 $writer = new Xlsx($spreadsheet); $writer->save('output.xlsx'); echo "Excel 文件已生成:output.xlsx"; ?>

示例:读取 Excel 文件

<?php
require 'vendor/autoload.php';
use PhpOfficePhpSpreadsheetIOFactory;
$spreadsheet = IOFactory::load('input.xlsx');
$sheet = $spreadsheet->getActiveSheet();
foreach ($sheet->getRowIterator() as $row) {
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateAll(true);
    $rowData = [];
    foreach ($cellIterator as $cell) {
        $rowData[] = $cell->getValue();
    }
    print_r($rowData);
}
?>

SimpleExcel(轻量级,适合简单场景)

composer require maennchen/zipstream-php
composer require simple-excel/simple-excel

php excel table怎么导出?php导出excel表格乱码怎么办

<?php
require 'vendor/autoload.php';
use SimpleExcelSimpleExcel;
// 写入
$writer = new SimpleExcel('csv', 'output.csv');
$writer->addRow(['姓名', '年龄', '城市']);
$writer->addRow(['张三', 25, '北京']);
$writer->save();
// 读取
$reader = new SimpleExcel('csv', 'input.csv');
while ($row = $reader->nextRow()) {
    print_r($row);
}
?>

❌ 不推荐的方式

使用原生 PHP 函数(仅适用于 CSV)

<?php
// 写入 CSV
$fp = fopen('output.csv', 'w');
fputcsv($fp, ['姓名', '年龄', '城市']);
fputcsv($fp, ['张三', 25, '北京']);
fclose($fp);
// 读取 CSV
$fp = fopen('input.csv', 'r');
while (($data = fgetcsv($fp)) !== false) {
    print_r($data);
}
fclose($fp);
?>

⚠️ 注意:CSV 不是真正的 Excel 格式,不支持样式、多工作表等功能。

php excel table怎么导出?php导出excel表格乱码怎么办


📊 各方案对比

方案 支持格式 功能 性能 推荐程度
PhpSpreadsheet .xlsx, .xls, .csv, .ods 完整(样式、公式、多表) 中等
SimpleExcel .csv, .xlsx 基础读写 快
原生 fgetcsv .csv 仅 CSV 最快 ⭐⭐(仅限简单场景)

💡 最佳实践建议

  1. 需要完整 Excel 功能(样式、公式、多工作表)→ 使用 PhpSpreadsheet
  2. 只需简单读写 CSV → 使用原生 fgetcsv / fputcsv
  3. 大数据量导出 → 考虑使用 PhpSpreadsheet 的 ChunkWrite 模式或生成 CSV

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/482650.html

赞 (0)
Excel虚线边框怎么画?如何设置虚线边框
上一篇 2026年7月11日 18:28
cdn加速是什么,cdn加速原理
下一篇 2026年7月11日 18:29

相关推荐

  • 如何用Excel做时间序列分析?Excel时间序列预测方法

    Excel处理时间序列的核心在于利用内置函数(如EDATE、NETWORKDAYS)结合数据透视表进行动态聚合,而非单纯依赖手工录入,这能显著提升数据清洗与趋势分析的自动化程度,在商业决策和数据分析的领域里,时间不仅仅是日历上的数字,它是业务脉搏的跳动频率,许多初学者在面对杂乱无章的销售记录或库存流水时,往往陷……

    2026年7月8日
    15600
  • Java开发编程软件哪个好?推荐高效编程工具选择

    Java开发编程软件是开发者用于编写、调试、优化和部署Java应用程序的一系列专业工具集合,核心包括集成开发环境(IDE)、构建工具、版本控制系统、性能分析器和测试框架等,选择并精通合适的工具链是提升开发效率、保障代码质量和实现项目成功的关键, 核心开发环境:IDE的选择与配置主流IDE对比与选型建议Intel……

    2026年2月11日
    15400
  • 华为P10开发者选项在哪里,怎么打开开发者选项?

    对于Android开发者与高级用户而言,掌握隐藏的系统调试功能是进行深度应用测试、性能分析及UI调优的前提,在华为P10这款机型上,通过正确启用并配置开发者模式,能够有效解决应用兼容性问题,并利用底层工具提升开发效率,本文将直接提供针对华为P10的系统调试与开发配置方案,涵盖启用流程、核心调试参数解析以及针对该……

    2026年2月17日
    17000
  • AIoT有什么优势?AIoT智能物联网应用前景如何

    AIoT(人工智能物联网)的核心优势在于实现了“万物互联”到“万物智联”的质变,通过人工智能(AI)与物联网(IoT)的深度融合,赋予了设备自主感知、分析及决策的能力,从而极大提升了运营效率、降低了人力成本,并创造了前所未有的商业价值,这一技术架构打破了传统物联网数据传输的瓶颈,让数据在边缘端即可转化为价值,是……

    2026年3月19日
    10400
  • Akilecloud是什么?Akilecloud官网注册及使用教程

    Akilecloud 通过提供高可用、低延迟且安全合规的云计算基础设施,帮助企业以更具成本效益的方式实现业务数字化升级,是2026年中小企业及初创团队构建稳定在线业务的理想选择,在数字化转型进入深水区的2026年,企业不再仅仅追求“上云”,而是更关注“云”的质量、稳定性以及背后的服务响应速度,Akileclou……

    2026年6月28日
    2300
  • AIoT时代智慧城市是什么?智慧城市建设方案与发展趋势解析

    AIoT技术的深度融合,正在根本性地重塑城市治理逻辑,其核心结论在于:智慧城市已从单纯的“设备联网”阶段,跨越至“全域智能”的新纪元,传统的智慧城市建设往往陷入“重建设、轻运营”的误区,导致海量数据成为信息孤岛,而AIoT(人工智能物联网)通过赋予万物感知、互联与思考的能力,让城市像生命体一样具备自我进化机制……

    2026年3月20日
    10900
  • 服务器双网卡怎么配置,Windows云服务器如何配置双网卡公网访问

    Windows云服务器配置双网卡公网访问,核心逻辑只有一条:公网网卡保留默认网关,内网网卡只走静态路由,如果两个默认网关同时存在,Windows路由表会随机择优,结果就是公网时通时断、内网彻底趴窝,配置双网卡不是为了“多一块网卡好看”,而是为了让公网流量和内网流量各走各的道,下面按实际运维顺序,把控制台操作、系……

    2026年8月19日
    400
  • 贵阳企业级物理机租用服务商怎么选,多少钱?

    贵阳企业级物理机租用,选服务商的核心在于本地化运维响应速度和硬件配置的灵活度,这两点直接决定了业务稳定性和长期成本,贵阳物理机租用哪家好?先把评估维度拉清楚很多团队在选服务商时,容易被低价或销售话术带偏,结果上线后才发现网络不稳、重启响应慢、硬件故障处理拖沓,贵阳物理机租用哪家好,不是看官网多漂亮,而是看这几个……

    2026年7月26日
    400
  • 经典游戏编程开发怎么学?零基础入门教程推荐

    C语言之所以在当今高速迭代的游戏开发领域中依然占据不可撼动的地位,核心在于其对硬件底层的极致掌控能力与无与伦比的运行效率,对于开发者而言,掌握C经典游戏编程开发,不仅是学习语法,更是构建高性能游戏引擎的基石,直接内存管理允许开发者精确控制每一字节的分配与释放,这是构建3A级大作和跨平台引擎的必要条件,任何高级语……

    2026年3月12日
    13000
  • H1Z1读取服务器锁定状态怎么办?,原因是什么?

    h1z1读取服务器锁定状态,最直接的解决办法是切换网络节点或使用加速器,同时关闭游戏内多余进程,然后在Steam中重新校验文件完整性, 这个报错通常意味着你的客户端与服务器之间的连接握手失败,多数情况下是网络路由问题,而非账号被封禁,为什么会出现服务器锁定状态这个提示的学名叫“服务器连接状态锁定”,本质上是一个……

    2026年8月13日
    400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注