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. 大数据量导出 → 考虑使用 PhpSpreadsheetChunkWrite 模式或生成 CSV

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/482650.html

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

相关推荐

  • Excel工作表如何关联?excel多表数据同步方法

    Excel工作表关联的核心在于利用VLOOKUP、XLOOKUP或Power Query等工具建立数据引用关系,实现跨表数据自动同步与动态更新,从而彻底告别手动复制粘贴的低效操作,在处理多张工作表时,很多职场人常陷入“数据孤岛”的困境,明明数据都在同一个文件里,却要在不同Sheet间反复切换、复制、粘贴,一旦源……

    2026年7月6日
    19100
  • 没国际信用卡怎么注册阿里云?阿里云国际站绑定支付宝方法

    注册阿里云国际站没有国际信用卡时,最直接的解决方案是绑定PayPal、支付宝或本地电子钱包,并通过“联系人工客服”或“提交工单”完成企业实名认证以解锁支付权限,对于许多非美国、非欧洲地区的开发者及中小企业而言,阿里云国际站(Alibaba Cloud International)是获取高性价比云计算资源的首选平……

    2026年7月5日
    12710
  • ajax取出data数据库报错怎么办?ajax获取数据库数据失败解决方法

    通过Ajax从数据库获取数据的核心在于后端接口返回JSON格式数据,前端利用XMLHttpRequest或Fetch API发起异步请求并动态更新DOM,从而实现页面局部刷新而不重载整个网页,在2026年的Web开发语境下,前后端分离已成为绝对主流,传统的整页刷新模式不仅浪费带宽,更严重损害用户体验,开发者需要……

    2026年6月2日
    4000
  • ajax跨域调用webapi怎么解决?前端跨域请求失败怎么配置

    解决Ajax跨域调用WebAPI的核心在于服务端配置CORS响应头或采用JSONP代理,前端无需复杂配置即可实现跨域数据交互,在前后端分离的开发架构中,浏览器同源策略是保护用户安全的一道铁壁,但也是开发者日常调试中最常遇到的拦路虎,当你试图从前端页面通过Ajax请求后端WebAPI接口时,如果域名、协议或端口任……

    2026年5月31日
    4000
  • 傲游主机8折真的划算吗?美国洛杉矶CN2 GIA VPS推荐

    傲游主机当前提供全场8折优惠,美国洛杉矶CN2 GIA线路月付低至54元,香港CN2线路月付56元起,是追求低延迟和高稳定性的用户的高性价比选择,在服务器租赁市场,价格波动与线路质量往往是用户最纠结的两个点,2026年的网络环境对稳定性提出了更高要求,尤其是对于需要跨境访问的业务,傲游主机这次推出的促销活动,直……

    2026年6月27日
    2500
  • aix查看服务器cpu内存使用情况,aix怎么查看cpu和内存使用率?

    在AIX操作系统运维中,掌握服务器CPU与内存的实时状态是保障业务稳定性的核心能力,核心结论是:高效监控AIX系统资源,必须建立以topas为实时监控核心,vmstat、iostat、svmon为深度分析工具的立体化监控体系, 运维人员不应仅停留在查看数值表面,而应通过这些工具的组合使用,精准定位资源瓶颈,实现……

    2026年3月8日
    11500
  • 广州玩服务器地址在哪?广州服务器地址怎么选

    2026年广州玩服务器最佳地址首选广州南沙(粤港澳全面合作区)与广州科学城(低延迟核心区),前者主打跨境带宽与算力补贴,后者专注极致网络延迟与本地运维响应,选址核心逻辑:为何广州服务器地址决定业务生死地域网络拓扑的底层制约在华南地区网络架构中,广州作为国家级互联网骨干直联点,承载着华南乃至东南亚的算力调度枢纽职……

    2026年4月29日
    5300
  • AI语音技术未来趋势是什么?人工智能语音发展前景好吗?

    AI语音技术已从单一的指令识别迈向了具备情感理解与生成能力的交互新阶段,成为重塑人机连接的核心力量,这一技术领域的演进,不仅极大地提升了信息获取与处理的效率,更通过拟人化的交互体验,彻底改变了智能终端的服务模式,纵观AI语音发展的历程,其核心在于从“听得见”向“听得懂”再到“有温度”的跨越,这标志着语音交互已成……

    2026年2月18日
    22700
  • ajax传js对象怎么实现?ajax传递json对象的方法

    通过AJAX传递JavaScript对象的核心方法是使用JSON.stringify()将对象序列化为JSON字符串,并在服务器端配置相应的解析器以接收该字符串,从而避免传统表单提交对复杂数据结构支持的局限性,在现代Web开发中,前后端数据交互是构建动态应用的基础,许多开发者在面对复杂业务逻辑时,往往需要传递包……

    2026年5月30日
    4100
  • AIoT的销量如何?2026年AIoT销量排行榜前十名

    AIoT产业正处于从“连接爆发”向“智能赋能”转型的关键节点,市场增长动力已不再单纯依赖硬件出货量的物理堆叠,而是转向场景化解决方案的深度渗透与生态系统的价值变现,核心结论在于:AIoT的销量增长逻辑已发生根本性重构,单一硬件销售模式正在失效,取而代之的是“端边云网智”全栈能力集成带来的服务化增长,企业必须从卖……

    2026年3月15日
    11700

发表回复

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