0

我正在使用Office 集成包

正确遵循说明后,我仍然无法让 Excel 导入工作

我的Visual Studio Lightswitch 2011 应用程序配置为托管在 IIS 服务器上并使用Easy Shell(因此它是 MS 提供的默认 Shell)。

到目前为止,我尝试过调用

OfficeIntegration.Excel.Import(
   this.States, 
    @"C:\Users\Mr_Mia_Gie\My Documents\ExcelSheet.xls", 
    "Sheet1", 
   "A1:C3"); 

_Execute event一个按钮上(该按钮不在 Shell 命令栏上)

我得到的例外是“对象变量或未设置块变量”。

任何解决方案或建议将不胜感激

干杯

4

3 回答 3

2

我同意 Nevyn 的观点(我会投票赞成他的答案,但它作为编辑嵌入在问题中,所以我不能)。

正如 Nevyn 所指出的,在特定的代码行中实际上只有三个对象会导致空异常

  • OfficeIntegration对象_
  • OfficeIntegration.Excel对象_
  • 或者,this.States集合(虽然不太可能)

正如还为您指出的那样,这些对象之一很可能没有正确初始化。您需要通过在该行上放置一个断点并检查它们在该点的实际值来检查这三个对象的值。

您还可以在代码中放置一个保护子句(就在该行上方):

if (OfficeIntegration == null) || (OfficeIntegration.Excel == null) 返回;

它不一定会“修复”问题,但会阻止空异常的发生(但这不应该是Execute方法中的问题)。但是,您引用一个值可能为空的对象时,放置一个保护子句是一种很好的编程习惯。

如果做不到这一点,我们任何人都可以给您的唯一其他建议是在图库页面的问题部分中发布问题,您从那里下载了扩展程序。扩展的作者应该能够帮助你。

于 2012-07-27T02:39:36.970 回答
0

这是一个网络应用程序,如果是,我认为它不支持它。它需要扩展。我为你挖了一篇文章,试试看:

http://blogs.msdn.com/b/lightswitch/archive/2011/04/13/how-to-import-data-from-excel.aspx

于 2012-07-25T17:59:21.697 回答
0

Office 集成包适用于 Visual Studio LightSwitch windows 应用程序,并且适用于托管在 IIS 上的应用程序,因此以下代码会引发异常

OfficeIntegration.Excel.Import(
   this.States, 
    @"C:\Users\Mr_Mia_Gie\My Documents\ExcelSheet.xls", 
    "Sheet1", 
   "A1:C3"); 

该链接显示该扩展不支持 LS WebBrowser 应用程序http://officeintegration.codeplex.com/discussions/374585

此外,扩展从 Excel 导入数据确实适用于在 webbrowser 中运行的 IIS 托管 LS 应用程序

于 2012-07-28T20:22:25.563 回答