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://idctop.com/article/482650.html

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

相关推荐

  • CS2练习模式无法加入服务器怎么办,为什么连不上?

    CS2练习模式无法加入服务器,最直接的解决思路是依次排查游戏文件完整性、网络连接状态和平台服务节点,其中本地文件损坏和网络丢包是绝大多数情况的诱因,为什么CS2练习模式卡在加入服务器界面练习模式虽然顶着“练习”的名头,但本质上依然需要向官方服务器发送请求、建立连接,很多玩家点击进入后卡在加载界面,或者提示连接超……

    2026年8月28日
    1300
  • 出块节点如何与其他节点保持对等连接,有哪些技巧?

    公网可达、主动发现、连接数给够、带宽留余量,再配合定期巡检,节点自然不会被网络“冷落”,为什么出块节点容易“失联”:先弄懂对等连接的基本盘出块节点和其他节点的关系,有点像小区里的快递站,门牌清楚、入口畅通,包裹才送得进来,对等连接一旦断掉,区块广播就会绕远路,孤块风险跟着上升,很多节点掉线不是程序崩溃,而是网络……

    2026年9月12日
    100
  • 怎么用u盘在服务器安装win7系统,具体步骤有哪些?

    用U盘在服务器上安装Win7系统的核心是制作支持UEFI/Legacy双模式启动盘,并提前注入RAID、网卡等驱动,否则安装程序可能无法识别硬盘,服务器怎么用u盘安装win7系统:准备工作清单在动手之前,先把需要的东西备齐,能省去不少折腾,硬件方面,你需要一个8GB以上的U盘,最好是USB 3.0接口,但注意原……

    2026年8月20日
    1500
  • 服务器可以在哪里租?,哪个平台性价比最高

    租用服务器主要通过云服务商、IDC公司或托管平台,具体选择取决于你的业务规模、预算和技术能力,服务器租用渠道对比:云服务器与物理服务器怎么选云服务器:灵活弹性,按需付费云服务器(实例或VPS)是当前渗透率最高的租用形式,它基于虚拟化技术,将物理硬件切割成独立单元,用户可以在控制台一键创建、销毁或升级配置,行业共……

    2026年7月20日
    900
  • 2b2t服务器手机版怎么进?手机版进服教程

    2b2t手机版能进,但必须走第三方Geyser代理中转,因为2b2t官方服务器只接受Java版连接,手机基岩版无法直连,整个链路是:手机基岩版 → 第三方代理服务器(GeyserMC) → 2b2t官方Java服务器,下面从版本原理、实操配置、延迟优化和常见问题四个维度拆解,帮你避开新手最容易踩的坑,2b2t手……

    2026年8月30日
    300
  • 实时数仓微小批次间隔会加重调度压力吗,实时数仓调度如何优化

    微小批次间隔对实时数仓计算节点的压力,本质是把调度器逼成高频空转的“前台”,节点资源被调度指令和上下文切换大量消耗, 接下来从调度机制、批次设置、离线对比、成本优化和实操缓解几个层面拆解,实时数仓的很多链路都在追求低延迟,从秒级压到亚秒级,再从亚秒级压到几百毫秒,这个过程中,批次间隔成了最容易调的旋钮,但调度器……

    2026年9月10日
    200
  • HostKvm德国优惠码5折怎么领?VPS主机推荐哪家性价比高

    HostKvm德国节点目前提供5折优惠码,适合对网络延迟敏感且追求高性价比的VPS用户,实测下行速度稳定在百兆以上,适合建站与轻量级应用,在2026年的云计算市场,德国机房依然是欧洲数据中心的核心枢纽,对于许多国内用户而言,选择德国节点往往是为了平衡访问速度与合规性,HostKvm作为该领域的一个活跃品牌,其提……

    2026年6月29日
    1810
  • AI知识图谱是什么,人工智能图谱怎么构建及应用

    在数字经济与人工智能深度融合的当下,数据已成为核心生产要素,但单纯的数据堆积无法直接产生价值,ai图谱作为连接数据与认知智能的关键技术底座,正在重塑企业处理信息的方式,它通过将非结构化数据转化为结构化的知识网络,不仅赋予了机器“理解”和“推理”的能力,更解决了大模型普遍存在的幻觉问题与可解释性难题,构建高质量的……

    2026年2月21日
    16400
  • 贵阳物理服务器租用怎么选?边缘计算节点场景要点解析

    在边缘计算节点场景下,贵阳物理服务器租用的选型核心是围绕低延迟、高带宽和本地化服务展开,同时必须根据业务负载合理配置硬件与网络资源,以最大化性价比,边缘计算节点服务器配置:贵阳物理服务器租用的首要考量点边缘计算节点对服务器的要求与传统数据中心截然不同,位置靠近用户,需要处理大量实时数据,因此对网络延迟和计算密度……

    2026年8月12日
    1000
  • 2核4g3m云服务器到底怎么样,日常使用够用吗?

    2核4G3M云服务器是入门级配置中的平衡之选,对于个人博客、小型企业官网和低并发应用完全够用,但需结合自身业务量评估带宽是否充足,2核4g云服务器能干什么?这些场景最合适个人博客与内容型网站对于日均几百到上千的访问量,2核CPU足以处理PHP或Python动态请求,搭配4G内存后MySQL等数据库也能稳定运行……

    2026年8月13日
    1100

发表回复

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