导入到Excel不起作用

我正在使用Office集成包

正确地遵循指令后,我仍然无法获得Excel导入工作

我的Visual Studio Lightswitch 2011应用程序被configuration为在IIS服务器上运行,并使用Easy Shell (所以它是由MS提供的默认Shell)。

到目前为止,我已经尝试过打电话了

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

在一个button的_Execute event (该button不住在壳命令栏上)

我得到的exception是“对象variables或未设置块variables”。

任何解决scheme或build议将不胜感激

干杯

我同意Nevyn的观点(我会把他的答案投给他,但是这个问题是作为一个编辑embedded的,所以我不能)。

正如Nevyn所指出的那样,在特定的代码行中确实只有三个对象可能导致空的exception

  • OfficeIntegration对象
  • OfficeIntegration.Excel对象
  • 或者,这个。国家集合(不太可能)

正如你也指出的那样,这些对象之一很可能是不正确的初始化。 你需要检查这三个对象的值是通过在这一行上放置一个断点来检查它们在这个点上的值。

你也可以在你的代码中放一个守卫子句(就在这行的上面):

如果(OfficeIntegration == null)|| (OfficeIntegration.Excel == null)return;

它不会“固定”这个问题,但是它会停止发生nullexception(但是这不应该是Execute方法中的问题)。 但是, 你引用一个值为null的对象的时候 ,把一个guard子句放在一个好的编程实践中是很好的。

如果不这样做,我们任何人都可以给你的唯一的build议就是在图库页面的问题部分发布一个问题,你从哪里下载扩展。 该扩展的作者应该能够帮助你。

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

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

办公室集成包是用于Visual Studio LightSwitch的Windows应用程序,并为IIS上承载的应用程序工作,因此下面的代码将引发exception

 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托pipeLS应用程序也有效