0

是否可以在 asp classic 中创建二进制 excel 文件?

常用的方法是使用这个

Response.ContentType = "application/octet-stream"

Response.AddHeader "Content-Disposition", "attachment; filename=test.txt"

这不是一个“真正的”excel文件

4

1 回答 1

0

在 .net 中,您可以使用 Microsoft.Office.Interop.Excel 命名空间 - 非常易于使用,如果您可以访问 .net,我肯定会这样做。

你说“纯 asp”——如果这意味着没有 com 对象等——我认为这是不可能的。

但是,如果您希望坚持使用经典 asp 并选择使用 com 对象,您可以使用 Interop com 对象创建完整的二进制电子表格 - 为此,您需要在网络服务器上安装 Excel。

例如,要打开磁盘上的空白 excel 文件(即模板),更改值并保存完成的文件:

'#### Ready Excel
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Application.Visible = True

'#### Open a blank Excel File
Set ExcelBook = ExcelApp.workbooks.Open("d:\wwwroot2\blankTemplate.xls")

'#### Select a sheet and change the value of a cell
ExcelBook.Worksheets("SheetName").Cells(1, 1).Value = "Lorem Ipsum"

'#### Switch between sheets
ExcelBook.Worksheets("AnotherSheetName").Select

'#### Save the finished file with a different name (to leave the template ready for easy re-use)
ExcelBook.SaveAs "d:\wwwroot2\FinishedFile.xls"

'#### Tidy up
ExcelBook.Close
ExcelApp.Application.Quit
Set ExcelApp = Nothing 
Set ExcelBook = Nothing

这个方法的好处是 interop com 对象非常接近地模仿 VBA 方法等,所以如果你不确定如何做某事,在 excel 中记录一个宏,查看原始 vba,它产生的代码,特别是方法和参数在大多数情况下,与您用于 com 对象的代码非常相似。

于 2012-06-27T18:24:14.393 回答