是否可以在asp classic中创建二进制excel文件?
常用方法是使用此
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.txt"
这不是“真正的”excel文件
答案 0 :(得分:0)
在.net中你可以使用Microsoft.Office.Interop.Excel命名空间 - 非常容易使用,如果你有权访问.net我当然会这样做。
你说"在纯粹的asp" - 如果这意味着没有com对象等 - 我不认为这是可能的。
如果您希望坚持使用经典的asp并选择使用com对象,则可以使用Interop com对象创建完整的二进制电子表格 - 为此,您需要在Web服务器上安装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对象的代码非常相似。