saveAs for Excel文件在VB.NET中不起作用

时间:2018-04-19 17:17:48

标签: excel vb.net save

我有一个简单的VB.NET路由,可以将文本文件打开到Excel中,然后将其另存为Excel文件(.xlsx)。打开工作文件但保存失败并显示NullReference异常。

 FileName = "C:\Temp\BOM of " & AssyName & ".txt"
    Dim xlApp As New Excel.Application
    Dim xlWorkBook As Excel.Workbook = Nothing
    Dim xlWorkSheet As Excel.Worksheet


    xlApp.Workbooks.OpenText(FileName, _
       StartRow:=1, _
       DataType:=Excel.XlTextParsingType.xlDelimited, _
       TextQualifier:=Excel.XlTextQualifier.xlTextQualifierNone, _
       Comma:=True)
    xlApp.Visible = True

    xlWorkBook.SaveAs("C:\Temp\BOM of " & AssyName & ".xlsx", Excel.XlFileFormat.xlWorkbookNormal)
    xlWorkBook.Close(True)
    xlApp.Quit()

不确定这里发生了什么。图像有失败消息。

感谢。VB>NET Failure on saving an Excel file.

1 个答案:

答案 0 :(得分:0)

看起来Dim xlWorkBook As Excel.Workbook = Nothing是合乎逻辑的原因。

在您发布的不完整代码中,您未将xlWorkbook设置为任何内容。因此,当您去保存时,xlWorkbook确实是Nothing

未经测试,但请考虑:

xlWorkBook = xlApp.Workbooks.OpenText(FileName, _
       StartRow:=1, _
       DataType:=Excel.XlTextParsingType.xlDelimited, _
       TextQualifier:=Excel.XlTextQualifier.xlTextQualifierNone, _
       Comma:=True)