如何在基于JavaScript的经典ASP中生成Excel电子表格?

我明白,有一些方法可以从传统的ASP生成Excel文件,通过基本制作一个HTML表格,并将其称为电子表格。 然而,输出似乎不是我所期望的 – 在Excel中打开时,它看起来像一个带有表格的HTML页面,而不是普通的电子表格。 所以我不确定我是否愿意这样做,尽pipe我愿意被卖掉。

由于某些原因,我正在使用JavaScript运行ASP Classic的网站,这个网站在ASP Classic处于前沿时似乎并不常见。 我知道也有在JavaScript中生成Excel文件的方法,但它们似乎适用于更典型的环境,如浏览器或Node.js; 我认为#include只能与其他ASP文件一起使用。

我只是输出一个CSV文件,除了我必须能够在电子表格中包含图像。

如果table标签是html正文中的唯一标签,那么html表格方法就可以正常工作,而且对表格单元格没有任何特定的样式,这与Excel通常会执行的操作相冲突。

您可能会考虑的是SpreadsheetML,它是Excel为了定义电子表格而理解的XML模式。 这与用于较新的Office文档的xml格式不同。 在这里看一个例子:

在ASP.NET中生成Excel文件

另外,在同一个问题中被接受的答案将涵盖你的一些其他选项。 它的目标是ASP.Net而不是传统的ASP,但很多材料仍然适用。

如果您使用的是VBScript ASP,那么只需要在打开<table>标记之前添加以下行

 <% Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "Content-Disposition", "attachment; filename=yourspreadsheetname.xls" %> 

要将这两行转换为服务器端的JS我认为这将只是在每行的末尾添加分号的情况。

Javascript在浏览器上运行,所以不pipe你的后端是经典的ASP还是其他的。

从Excel 2007+开始,XLSX格式仅仅是一个包含一组遵循[Office Open XML规范] [1]的XML文件的ZIP。

这可以定义完成在JavaScript中,并且有一堆库提供这个function。 只是谷歌他们。