doubi5127
2018-08-21 13:27 阅读 257
已采纳

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 dongwei7913 2018-08-22 21: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);
    
    点赞 评论 复制链接分享

相关推荐