发布应用程序后,Excel对象生成错误

时间:2014-07-08 21:53:04

标签: vb.net excel

我的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)

2 个答案:

答案 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)