Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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
Vb.net Excel对象在应用程序发布后生成错误_Vb.net_Excel - Fatal编程技术网

Vb.net Excel对象在应用程序发布后生成错误

Vb.net Excel对象在应用程序发布后生成错误,vb.net,excel,Vb.net,Excel,我的VB.NET Windows窗体应用程序正在将数据写入excel文件。它可以在开发环境中正常工作。excel文件是用数据创建的 但当应用程序部署/发布时。它在xlWorkBook.SaveAs处给出错误:“对象引用未设置为对象的实例” 错误令人困惑。这是许可问题吗?任何帮助 代码如下: Dim xlApp As Excel.Application = New Excel.Application xlApp.SheetsInNewWorkbook = 1 Dim xlWorkBook As

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

您是否使用excel interop dll发布应用程序?不同版本的excel可能有不同的参数,如果不想使用excel dll发布应用程序,请尝试使用命名参数:

xlWorkBook.SaveAs(FileName:=gExcelFileName, 
                  FileFormat:=Excel.XlFileFormat.xlWorkbookDefault, 
                  AccessMode:=Excel.XlSaveAsAccessMode.xlNoChange, 
                  ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges)

我找到的解决方案是将变量“gExcelFileName”中的文件夹位置更改为安装它的计算机上的本地文件夹。现在可以了。我认为这是一个许可问题

在xlWorkBook.SaveAs行设置断点,并检查xlWorkBook是否设置为对象引用。我看不到正在设置或声明gExcelFileName?请在不使用括号的情况下尝试
xlWorkBook.SaveAs gExcelFileName,…
?当您将括号
()
放在括号中时,VB希望将其分配给变量。VB会自动添加括号并向您提供建议。我试过这个密码。同样的错误也会产生。