Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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
将工作表添加到Excel工作簿_Excel_Vb.net_Excel Interop - Fatal编程技术网

将工作表添加到Excel工作簿

将工作表添加到Excel工作簿,excel,vb.net,excel-interop,Excel,Vb.net,Excel Interop,我试图在Excel中创建一个包含多张工作表的工作簿,但我不知道如何创建多张工作表。我可以很好地创建一个,但是当我尝试创建第二个要写入的文件时,我会得到一个错误 Dim app As Application = New Application Dim xlApp As New Excel.Application Dim xlWorkBook As Excel.Workbook Dim newXlApp As Excel.Application = New Microsoft.Office.Inte

我试图在Excel中创建一个包含多张工作表的
工作簿
,但我不知道如何创建多张工作表。我可以很好地创建一个,但是当我尝试创建第二个要写入的文件时,我会得到一个错误

Dim app As Application = New Application
Dim xlApp As New Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim newXlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application
Dim newXlWorkbook As Excel.Workbook
Dim newXlSheet As Excel.Worksheet
Dim newXlSheet2 As Excel.Worksheet

Public Sub createWorkBook()
    newXlWorkbook = newXlApp.Workbooks.Add()

    newXlSheet = newXlWorkbook.Sheets("Sheet1")
    newXlSheet2 = newXlWorkbook.Sheets.Add("Sheet2")

    newXlSheet.Cells(1, 1) = "Task ID"
    newXlSheet.Cells(1, 2) = "Collective Tasks"
    newXlSheet.Cells(1, 3) = "Supported Task"

    newXlSheet2.Cells(1, 1) = "Parent Collective Task"
    newXlSheet2.Cells(1, 2) = "Individual Task"
End Sub

我不确定这是否重要,但我还有一个单独的Excel
工作簿
打开,我正在查询。

从我看到,您的代码给出的错误是:

“System.Runtime.InteropServices.COMException”类型的首次意外异常

如果要将多张工作表添加到Excel
工作簿中
,请使用以下代码:

Dim app As New Excel.Application
Dim wb As Excel.Workbook = app.Workbooks.Add()
Dim ws As Excel.Worksheet

ws = CType(wb.Sheets.Add(Count:=10), Excel.Worksheet)
默认情况下,
工作簿
附带一张
工作表
。如果要添加多个,请设置
计数:=参数。正如您在我的示例中所看到的,我使用了10。这将给我留下11张工作表

请注意,
ws
将是
工作簿中的最后一页。在我的示例中,这将是表11

如果要使用每个
工作表
,则需要查看以下代码:

Dim ws1 As Excel.Worksheet = CType(wb.Sheets(1), Excel.Worksheet)
Dim ws2 As Excel.Worksheet = CType(wb.Sheets.Add(), Excel.Worksheet)

ws1.Cells(1, 1) = "Task ID"
ws1.Cells(1, 2) = "Collective Tasks"
ws1.Cells(1, 3) = "Supported Task"

ws2.Cells(1, 1) = "Parent Collective Task"
ws2.Cells(1, 2) = "Individual Task"
请注意,
ws1
引用了第一张图纸。如上所述,默认情况下,
工作簿
附带一张工作表


从我看到的情况来看,您的代码给出的错误是:

“System.Runtime.InteropServices.COMException”类型的首次意外异常

如果要将多张工作表添加到Excel
工作簿中
,请使用以下代码:

Dim app As New Excel.Application
Dim wb As Excel.Workbook = app.Workbooks.Add()
Dim ws As Excel.Worksheet

ws = CType(wb.Sheets.Add(Count:=10), Excel.Worksheet)
默认情况下,
工作簿
附带一张
工作表
。如果要添加多个,请设置
计数:=参数。正如您在我的示例中所看到的,我使用了10。这将给我留下11张工作表

请注意,
ws
将是
工作簿中的最后一页。在我的示例中,这将是表11

如果要使用每个
工作表
,则需要查看以下代码:

Dim ws1 As Excel.Worksheet = CType(wb.Sheets(1), Excel.Worksheet)
Dim ws2 As Excel.Worksheet = CType(wb.Sheets.Add(), Excel.Worksheet)

ws1.Cells(1, 1) = "Task ID"
ws1.Cells(1, 2) = "Collective Tasks"
ws1.Cells(1, 3) = "Supported Task"

ws2.Cells(1, 1) = "Parent Collective Task"
ws2.Cells(1, 2) = "Individual Task"
请注意,
ws1
引用了第一张图纸。如上所述,默认情况下,
工作簿
附带一张工作表


哪一行错误?您似乎只在代码中添加了一个工作表。@sjr the
newXlSheet2=newXlWorkbook.Sheets.Add(“Sheet2”)
抛出
未处理的“System.Runtime.InteropServices.COMException”类型异常
认为该错误是“System.Runtime.InteropServices.COMException”类型的第一次异常。如果任何人都有相同的错误,那么在问题中包括这一点是值得参考的。哪一行错误?您似乎只在代码中添加了一个工作表。@sjr the
newXlSheet2=newXlWorkbook.Sheets.Add(“Sheet2”)
抛出
未处理的“System.Runtime.InteropServices.COMException”类型异常
认为该错误是“System.Runtime.InteropServices.COMException”类型的第一次异常。如果任何人都有相同的错误,那么在问题中包括这一点是值得参考的。