php - PHP 生成的 Excel 文件无法在 Microsoft Excel 中打开,但适用于办公文件的 chrome 扩展名
问题描述
此代码在 PHP 中从 MySQL 生成一个 excel 文件并下载它。但问题是 excel 文件在 google chrome 的“Office Editing for Docs, Sheets & Slides”扩展中打开,但是当我尝试在 Microsoft excel 中打开它时显示无效的 excel 文件。如何解决这个问题?
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename='.$fileName);
echo implode("\t", array_values($heading)) . "\n";
while( $row = mysqli_fetch_array($result)) {
$record=array();
$record[]=$row["join_date"];
$record[]=$agents[$row["agent_id"]];
$record[]=$row["name"];
$record[]=$row["amount"];
$record[]=$brokerages[$row["brokerage"]];
echo implode("\t", array_values($record)) . "\n";
}
解决方案
您发布的数据不是 Excel 或 CSV。您正在发送TSV
文件的正确内容类型是“ text/tab-separated-values ”
请参阅https://github.com/PHPOffice/PhpSpreadsheet/blob/master/samples/Basic/01_Simple_download_xls.php如何将您的数据下载为 XLS 文档。
推荐阅读
- powershell - 如何继续ps根据文件名的前3个字符创建文件夹
- javascript - Vue js如何在整个项目中隐藏来自url的查询字符串
- r - 通过 bsts 估算时间序列中的缺失值
- php - Cakephp 3 模型查找失败并包含匿名函数
- c# - Azure 服务总线队列如何在 HTTPS 模式下向客户端传递消息
- laravel-5 - TypeError:this.cards.filter 不是函数
- c# - 在 CI 中为 Web 应用程序 (WCF) 等类库获取发布工件
- android - 查看未找到名称 RNSketchCanvas 的配置
- python - 如何遍历单个数据框列以计算有多少不同的值?
- ios - 将进度条与时间联系起来