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

相关推荐

  • VMISS全场7折最后5天,韩国日本洛杉矶CN2 GIA月付18元起值得买吗

    VMISS目前正在进行全场7折促销活动,针对韩国、日本及洛杉矶CN2 GIA线路提供极具竞争力的月付方案,其中部分线路低至18元起,是近期搭建海外加速节点的高性价比选择,在服务器租赁市场,价格波动与线路稳定性往往是用户决策的两极,对于需要频繁访问东亚地区或优化中美互联速度的用户而言,单纯追求低价容易陷入“慢速陷……

    2026年6月29日
    1500
  • 造梦西游ol服务器数为什么不一样,怎么回事?

    服务器数量差异的根本原因在于合服、渠道服独立运营和不同平台显示策略不同,你看到的数字很可能只是冰山一角,造梦西游ol服务器数量为什么不一样很多玩家在登录造梦西游ol时会发现,自己列表里的服务器数量跟朋友、贴吧、论坛里看到的完全对不上,有的人只有十几个区,有的人却能看到几十个,这不是错觉,也不是游戏出了bug,而……

    2026年8月2日
    1200
  • 医学大数据分析到底有什么用?医学大数据分析的应用案例

    在医疗信息化深入发展的当下,大数据已成为驱动临床决策、药物研发及医院管理智能化的核心引擎,对于医疗机构、科研团队及医疗SaaS服务商而言,构建稳定、高效且合规的大数据分析平台,首要任务便是选择具备极高算力密度、低延迟网络及严格数据隔离能力的服务器基础设施,本文基于真实业务场景,对几款主流的高性能服务器进行深度测……

    2026年5月31日
    4900
  • 服务器性能测试工具有哪些?,哪个品牌质量好?

    服务器性能测试工具服务器性能测试是评估硬件能力、优化部署配置的关键环节,选择正确的测试工具能够准确反映 CPU、内存、磁盘 I/O 和网络等子系统的真实表现,本文对几款主流服务器性能测试工具进行详细测评,并附带 2026 年的优惠活动信息,帮助您以最低成本获得最专业的测试方案,主流服务器性能测试工具概览目前广泛……

    2026年7月18日
    1500
  • 华纳云物理服务器低至688元/月是真的吗?海外CN2云服务器哪家好

    华纳云年末限时回馈活动已开启,物理服务器低至688元/月且独享50M CN2大带宽,海外CN2云服务器低至24元/月,这是当前性价比极高的出海基础设施选择,为什么选择华纳云年末限时回馈在数字化浪潮席卷全球的当下,企业出海不再仅仅是大型跨国公司的专利,越来越多的中小企业、独立开发者以及跨境电商卖家开始寻求稳定、高……

    2026年6月24日
    1700
  • ajax怎么传送json数据库,ajax传json数据到后台

    Ajax通过将JSON对象序列化为字符串,利用HTTP请求(如POST或GET)发送至服务器接口,由后端解析后操作数据库,实现异步数据交互,在Web开发的实际场景中,前端页面与后端数据库之间的沟通往往不是简单的页面跳转,而是静默的数据交换,这种交换的核心载体就是JSON格式的数据,对于许多初学者或正在重构旧系统……

    2026年6月5日
    2710
  • 大连开发区女是谁?大连开发区女最新消息、身份背景及事件全解析

    大连开发区女性正以高学历、强职业素养、多元发展路径重塑区域人才生态,成为推动东北振兴与产业升级的关键力量,她们在科技、制造、金融、教育等核心领域崭露头角,展现出与传统认知截然不同的现代女性形象,数据透视:大连开发区女性的现实画像学历结构显著升级2023年开发区35岁以下女性中,硕士及以上学历占比达28.6%,高……

    程序开发 2026年4月17日
    5000
  • PS4版NBA2K20怎么连服务器,连接失败怎么办?

    PS4版NBA 2K20连接服务器并不复杂,核心在于网络配置和服务器状态,如果遇到连不上,先检查服务器是否维护,再优化本地网络,多数情况下可以解决,为什么要先解决服务器连接问题NBA 2K20的在线模式是游戏生涯的命脉,公园模式和梦幻球队需要稳定的服务器连接才能正常匹配、交易和同步数据,对比其他体育游戏,2K对……

    2026年8月7日
    600
  • 如何设计一个高性能分布式数据库,有哪些注意事项

    分布式数据库设计的核心在于根据业务需求在一致性、可用性和分区容错性之间做出权衡,并结合数据特征选择合适的分片与复制策略,没有一刀切的方案,分布式数据库设计原则:CAP与BASE的取舍设计分布式数据库时,你最先遇到的就是CAP理论——一致性、可用性、分区容错性这三个指标无法同时满足,业内专家指出,90%的业务场景……

    2026年7月15日
    900
  • U盘在电脑上显示服务器运行失败怎么办,是什么原因

    U盘插入电脑后提示“服务器运行失败”,通常是因为系统USB服务未启动、驱动冲突或U盘主控故障,重启服务或更新驱动即可解决,u盘在电脑上显示服务器运行失败怎么办啊:常见原因与快速排查遇到这个提示,不少用户第一反应是U盘坏了,但行业共识认为,相当一部分情况是系统层面的问题,不是硬件彻底报废,下面从三个最常见的原因开……

    2026年8月22日
    200

发表回复

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