html到excel问题!

html到excel问题!,excel,export-to-excel,Excel,Export To Excel,我正在打印excel,如下所示: header("Content-Type: application/vnd.ms-excel; charset=utf-8"); header("Content-type: application/x-msexcel; charset=utf-8"); header("Content-Disposition: attachment; filename=".str_replace(' ', '_', $title).".xls"); header("Ex

我正在打印excel,如下所示:

header("Content-Type:   application/vnd.ms-excel; charset=utf-8");
header("Content-type:   application/x-msexcel; charset=utf-8");
header("Content-Disposition: attachment; filename=".str_replace(' ', '_', $title).".xls"); 
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); 
内容是纯html。问题是,当我下载这个时,我会看到一个初始确认框

您试图打开的文件“file_name.xls”的格式与文件扩展名指定的格式不同。在打开文件之前,请验证该文件未损坏且来源可靠。您想现在打开该文件吗

当我回答“是”时,我得到了这个。有点奇怪,这里有没有输入的朋友


嗯,这很奇怪。我怀疑这会有所帮助,但请尝试将其重命名为.xlsx。这可能只是因为它没有获得正确的较新的文件扩展名

我总是使用content type=application/ms excel

我有一个做同样事情的应用程序;它设置ContentType=application/vnd.xls,并且工作正常。您仍然会收到关于其格式错误的警告,但随后会打开


我怀疑问题不是内容类型,而是您发送的实际html内容。你能举一个导致错误的文件的例子吗?

这个问题突然解决了,我不知道怎么解决

这就是我所做的。我复制并粘贴了excel工作的另一个页面的代码。然后,我手动更改了变量,以适应第2页

经过一番尝试,它突然奏效了

无论如何,谢谢你的回答


PS.通过解决,我的意思是excel不再崩溃,尽管我仍然收到关于错误格式的确认框。

使用哪种语言asp.net、php、asp、cold fusion…etcI不确定我是否理解您打印此xls文件的原因。据我所知,你只是在写一个扩展名为xls的HTML文件吗?@geek,它是php@keepitreal89,是的,它是使用php从mysql获取的数据,然后使用html表显示。不要使用两种不同的内容类型浏览器只需要一个正确的内容类型标题。。。坚持使用application/vnd.ms-excel。这个想法是使用.xls,这样即使是使用旧版本MS Office的人也可以打开该文件。但该文件不是Excel文件,因此使用.xls或.xlsx结尾基本上是对Excel撒谎。幸运的是,大多数版本的Excel都习惯于这种情况,并且不管怎样都会导入HTML,即使它来自具有xls扩展名的文件。但是你应该坚持正确的内容类型标题。@马克·贝克,你通常是如何生成excel、rtf或pdf文件的?@Jeremy-就我个人而言,我以适当的文件格式生成真实的内容,因此如果生成excel文件,我会生成一个BIFF8 xls或Office Open XML xlsx格式的文件,然后将标题与formatWell@toby匹配,您就在这里。因为我使用相同的结构创建了一个不同的excel文件,它工作得很好,所以我仍然得到了警告,但excel没有崩溃。在这种情况下,Excel会崩溃一次,当它自动打开后再次崩溃,因为选中了“恢复”复选框,Excel不会再次崩溃。