Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建没有任何工作表的Excel工作簿_C#_Excel - Fatal编程技术网

C# 创建没有任何工作表的Excel工作簿

C# 创建没有任何工作表的Excel工作簿,c#,excel,C#,Excel,有没有办法创建一个没有任何工作表的Excel工作簿 这是我用来创建工作簿的代码: excelApp = new Microsoft.Office.Interop.Excel.Application(); excelBook = excelApp.Workbooks.Add(); 我还试着添加 excelApp.SheetsInNewWorkbook = 0; 在创建excelBook之前,但最小值为1,因此程序崩溃 编辑: 还尝试在创建第一张图纸后立即将其删除,但仍然无效 Sheets ex

有没有办法创建一个没有任何工作表的
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必须始终包含至少一个可见的工作表。由于您似乎只想创建一个工作簿,并手动指定工作表名称,而不必重命名自动创建的工作表名称,因此我编写了这个快速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工作簿并单击-文件>选项>常规-并查找“创建新工作簿时”分隔符,将其更改为1。将有一个选项“包括这么多张”,您可以将其更改为1


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

excel的默认行为是一张工作表。即使在excel中打开一个新文件,它也只打开一张工作表,无法删除。这就是你需要忍受的。您可以在添加自己的新工作表时删除默认创建的工作表。我用代码编辑了我的答案。我尝试删除第一张工作表,但它崩溃了。没有工作表,您似乎无法对文件执行任何操作,为什么不保留excel的创建,直到您需要命名至少一张工作表,然后再创建它。听起来像是一个问题。您可以将工作簿的
.xlsx
扩展名更改为
.zip
,然后再乱处理内容。我尝试删除所有工作表,但再次打开工作簿时出错。也许你可以用这种技术做些什么,而不会导致错误?!这看起来确实是真的,但是否有任何文件说明了这一点?我从经验中知道这是真的,但也希望看到任何官方文件。试图找到任何描述这一点的官方文件,但失败了。