首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生成的Excel文件以XML形式下载。

生成的Excel文件以XML形式下载。
EN

Stack Overflow用户
提问于 2018-07-23 18:28:28
回答 1查看 1.1K关注 0票数 1

我正在生成并使用以下示例XML来生成和下载XLSX文件。

代码语言:javascript
复制
<!--?xml version="1.0"?-->
<!--?mso-application progid="Excel.Sheet"?-->
<ss:workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
    <ss:worksheet ss:name="Title">
        <ss:table>
            <ss:column>
                <ss:row>
                    <ss:cell><ss:data ss:type="String">Something</ss:data></ss:cell>
                    <ss:cell><ss:data ss:type="String">Something</ss:data></ss:cell>
                </ss:row>
            </ss:column>
        </ss:table>
    </ss:worksheet>
</ss:workbook>

然后,我使用以下代码片段强制下载该文件。

代码语言:javascript
复制
<?php
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
;
header("Content-Disposition: attachment;filename=something.xml ");
header("Content-Transfer-Encoding: binary ");
print $this->file;
?>

文件正确下载;但是,扩展名是XML。我可以在Excel中手动打开它,它将正确显示。我尝试将Content-Disposition行中的Content-Disposition更改为something.xlsx,但当我试图通过双击打开该文件时,会收到这样的警告:

Excel无法打开文件something.xlsx,因为文件格式或文件扩展名无效。验证文件没有损坏,并且文件扩展名是否与文件的格式匹配。

知道我做错什么了吗?XML格式不正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-25 21:59:05

您只需要设置一次内容类型,并且应该将其设置为正确的值:

代码语言:javascript
复制
<?php
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment;filename=something.xlsx");
header("Content-Transfer-Encoding: binary");
echo $this->file;

另外,最好不要拖着?>,这样就不会有空白区进入下载的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51485149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档