创建Excel Workbook而无需任何工作表



有没有办法创建一个没有任何床单的Excel工作簿?

这是我用来创建工作簿的代码:

excelApp = new Microsoft.Office.Interop.Excel.Application();
excelBook = excelApp.Workbooks.Add();

我也尝试添加

excelApp.SheetsInNewWorkbook = 0;

在创建excelBook之前,最小值为1,因此程序崩溃了。

编辑:

也尝试在创建第一张纸时尽快删除,但仍然不起作用

Sheets excelSheetsToDelete = excelBook.Sheets[1];
excelSheetsToDelete.Delete();

我希望稍后再用我的名字添加我的床单,而不必重命名第一个。

如果没有任何表格,您就无法创建Excel,Excel必须至少包含一个纸。尝试在Excel应用程序(桌面(中删除单个表。你不会那样做。

就像人们已经说过的那样,Excel必须始终包含至少1个可见工作表。由于您似乎只想创建一个工作簿,并手动指定您的工作表名,而无需自动重命名该工作簿,所以我编写了此快速VB脚本,可能对您有用。

Dim objShell, objExcel, objWorksheet, strSheetName
strSheetName = InputBox("Enter a name for your new Worksheet:")
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("EXCEL.EXE")
WScript.Sleep 3000 'Wait for new excel file to open
Set objExcel = GetObject(, "Excel.Application")
Set objWorksheet = objExcel.ActiveWorkbook.Worksheets(1)
objWorksheet.Name = strSheetName

这是提示您输入新表的名称。然后,它运行了Excel的新实例,并将新创建的文件的第一个工作表设置为您指定的名称。

如果Excel在创建新工作簿时包含3张纸,则可以通过在任何Excel Worbook中进行并单击 - 文件>选项>一般 - 并查找"创建新的Workbooks"分隔符,将其更改为1。将有一个选项"包含这片床单",您可以将其更改为1。

另外,要确认人们已经说过的话,如果您尝试将此值更改为0,它将告诉您"该条目必须大于或等于1",这意味着所有工作簿都必须包含至少1个可见工作表。希望这有所帮助。

相关内容

最新更新