内存不足,无法创建excel工作簿

时间:2013-01-09 09:51:00

标签: c# asp.net excel

我的原始代码:

    Excel.Application xlErrorApp;
    Excel.Workbook xlErrorWorkBook;
    Excel.Worksheet xlErrorWorkSheet;
    object misValue = System.Reflection.Missing.Value;
    xlErrorApp = new Excel.Application();
    xlErrorWorkBook = xlErrorApp.Workbooks.Add(); // -> error
    xlErrorWorkSheet = (Excel.Worksheet)xlErrorWorkBook.Worksheets.get_Item(1);

第6行出现错误。

错误讯息:

  

应用程序Microsoft Excel无法打开或保存文档   内存或磁盘空间不足。

4 个答案:

答案 0 :(得分:2)

您使用的是哪个库?

我已经说过了,但实际上微软目前不推荐,也不支持从任何无人值守的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行时可能会出现不稳定的行为和/或死锁。

我建议您寻找像Open Office XML这样的免费库或者像Aspose这样的非免费库。

答案 1 :(得分:1)

怎么样:

Microsoft.Office.Interop.Excel.ApplicationClass excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Open(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing);

答案 2 :(得分:1)

MSDN ;

中的

Workbooks.Add()方法

Parameters
Template
Type: System.Object
  

可选对象。确定如何创建新工作簿。如果这   argument是一个字符串,指定现有Microsoft的名称   Excel文件,使用指定的文件创建新工作簿   模板。如果此参数是常量,则新工作簿包含a   单张指定类型。可以是以下之一   XlWBATemplate常量:xlWBATChart,xlWBATExcel4IntlMacroSheet,   xlWBATExcel4MacroSheet或xlWBATWorksheet。如果这个论点是   省略,Microsoft Excel创建一个空白的新工作簿   张数(张数由SheetsInNewWorkbook设定   属性)。

如果您尝试创建新工作簿,请尝试这样做;

Workbook newWorkbook = this.Application.Workbooks.Add(missing);

答案 3 :(得分:1)

对不起我之前找不到链接。我用过EPPlus支持。 http://epplus.codeplex.com

感谢您的帮助!