doubi5127 2018-08-21 05:27
浏览 396
已采纳

php导出xls:文件格式和扩展名不匹配

I'm exporting xls with this code:

<?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>

but when I open it, I get:
the file format and extension of don't match. the file could be corrupted or unsafe. unless you trust its source, don't open it. do you want to open it anyway?
is there a way to avoid it?

  • 写回答

1条回答 默认 最新

  • dongwei7913 2018-08-22 13:40
    关注

    What you've got there is HTML, not an Excel file. As Excel says, the file format and extension don't match. If you want to avoid the warning message, save it as an HTML file and open it from Excel.

    <?php
    header("Content-Disposition: inline; filename=filename.html");
    ?>
    <html>
    <head>
    <meta charset="utf-8">
    </head>
    <body>
    my export
    </body>
    </html>
    

    Or output a different file format such as CSV. It's very simple.

    <?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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部