2012-10-09 50 views
0

我使用以下代碼在經典asp中創建了一個excel文件。在經典asp中爲excel文件創建

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = TRUE 
objExcel.Workbooks.Add 

Set objWorksheet = objExcel.Worksheets("Sheet2") 
objWorksheet.Activate 

objWorksheet.Cells(1, 1).Value = "A" 

我有以下錯誤。

Microsoft Office Excel (0x800A03EC) 
Microsoft Office Excel cannot open or save any more documents because there is not enough available memory or disk space. • To make more memory available, close workbooks or programs you no longer need. • To free disk space, delete files you no longer need from the disk you are saving to. 

我該如何解決這個問題?謝謝。

+0

你試過這些傢伙嗎? http://social.technet.microsoft.com/Forums/en-US/officeappcompat/thread/2c753037-4600-4a4f-abd7-d228e2f20a38和http://answers.microsoft.com/en-us/office/forum/ office_2010-excel/microsoft-excel-can not-open-or-save-any-more/ab1a73d9-1666-4cf5-a6a7-285d2004dd08 –

回答

3

而不是創建一個Excel實例來創建文件(我總是發現泄漏內存並最終從傳統ASP失敗的方法),我建議你考慮輸出數據作爲一個大的HTML表,並且強制瀏覽器在Excel中使用以下內容在Excel中打開它:

<% 
response.ContentType = "application/vnd.ms-excel" 
response.AppendHeader "content-disposition", " filename=export.xls" 
%> 
+1

實際上,它是「response.AddHeader」。由於您剛指定的內容類型,AppendHeader會導致瀏覽器無法顯示的錯誤。 除此之外,它完全奏效。 Excel告誡我,我打算打開的文件內容與文件擴展名不匹配,但它打開它就好,並像其他電子表格一樣行事!偉大的提示! –