【发布时间】:2011-12-25 08:32:52
【问题描述】:
我正在尝试使用 C# COM 互操作创建一个 Excel 文件,但它似乎默认使用 3 张而不是空的或只有一张来创建它。 创建它需要什么 空的或只有一个:
Excel.Application xl = null;
Excel._Workbook wb = null;
// Create a new instance of Excel from scratch
xl = new Excel.Application();
xl.Visible = true;
wb = (Excel._Workbook)(xl.Workbooks.Add(Missing.Value));
wb.SaveAs(@"C:\a.xls", Excel.XlFileFormat.xlWorkbookNormal,
null, null, false, false, Excel.XlSaveAsAccessMode.xlShared,
false, false, null, null, null);
【问题讨论】:
-
我认为这是 Excel 中的默认行为。如果您打开 excel 并创建一个新文档,它有三个工作表。也许你只需要删除第二张和第三张。
-
或者您可以尝试一个简单但方便的库 NPOI code.google.com/p/npoi,它为您提供了很大的灵活性,特别是对于基本到中级的 excel 功能。如果您的输出只需要从 Office 2010 或更高版本打开,您还可以考虑使用 OpenXML。 COM Interop 可能会在无人值守、非交互式客户端应用程序中给您带来很多问题。看到这个support.microsoft.com/kb/257757
标签: c# excel office-interop