我的VB.NET Windows窗体应用程序正在将数据写入excel文件。它在开发环境中没有任何错误。 excel文件是使用数据创建的。
但是当部署/发布应用程序时。它在xlWorkBook.SaveAs
中给出错误:“对象引用未设置为对象的实例”错误令人困惑。这是一个许可问题吗?任何帮助。
以下是代码:
Dim xlApp As Excel.Application = New Excel.Application
xlApp.SheetsInNewWorkbook = 1
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Add(), Excel.Worksheet)
xlWorkSheet.Name = "Sample1"
xlWorkSheet.Cells(1, 1) = "TestData1"
xlWorkSheet.Cells(1, 2) = "TestData2"
xlApp.DisplayAlerts = False
xlWorkBook.SaveAs(gExcelFileName, Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, Type.Missing, Type.Missing, _
Excel.XlSaveAsAccessMode.xlNoChange, Excel.XlSaveConflictResolution.xlLocalSessionChanges)
答案 0 :(得分:1)
我发现此问题的解决方案是将变量“gExcelFileName”中的文件夹位置更改为安装它的计算机上的本地文件夹。它现在有效。我认为这是一个许可问题。
答案 1 :(得分:0)
您是否使用excel interop dll发布了应用程序?不同版本的excel可能有不同的参数,如果你不想用excel dll发布应用程序,请尝试使用命名参数:
xlWorkBook.SaveAs(FileName:=gExcelFileName,
FileFormat:=Excel.XlFileFormat.xlWorkbookDefault,
AccessMode:=Excel.XlSaveAsAccessMode.xlNoChange,
ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges)