我正在使用以下代码导出 xls:
<?php
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: inline; filename=filename.xls");
?>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
my export
</body>
</html>
但是当我打开它时,我得到:
的文件格式和扩展名不匹配。该文件可能已损坏或不安全。除非你相信它的来源,否则不要打开它。你还是要打开它吗?
有没有办法避免它?
最佳答案
您所拥有的是 HTML,而不是 Excel 文件。正如 Excel 所说,文件格式和扩展名不匹配。如果要避免出现警告消息,请将其另存为 HTML 文件并从 Excel 中打开。
<?php
header("Content-Disposition: inline; filename=filename.html");
?>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
my export
</body>
</html>
或输出不同的文件格式,例如 CSV。这很简单。
<?php
$my_data = [
[1, 2, 3, 4, 5, 7],
[9, 8, 7, 6, 5, 3],
];
header("Content-Type: text/csv");
header("Content-Disposition: attach; filename=filename.csv");
$h = fopen("php://output", "w");
foreach($my_data as $data) {
fputcsv($h, $data);
}
fclose($h);
关于php 导出 xls : the file format and extension of don't match,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51949837/