0

OfficeIntegrationPackを使用しています

指示に正しく従った後でも、Excelをインポートすることができません

Visual Studio Lightswitch 2011アプリケーションは、IISサーバーでホストし、のEasy Shell(MSが提供するデフォルトのシェル)を使用するように構成されています。

これまで私が試したのは

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

ボタンのオン_Execute event(ボタンはシェルコマンドバーにはありません)

私が返す例外は、「オブジェクト変数またはブロック変数が設定されていない」です。

任意の解決策や提案は高く評価されます

乾杯

4

3 に答える 3

2

私はNevynに同意します(そして私は彼の答えに投票しますが、それは編集として質問に埋め込まれているので、私はできません)。

Nevynが指摘しているように、null例外を引き起こす可能性のある特定のコード行には、実際には3つのオブジェクトしかありません。

  • OfficeIntegrationオブジェクト_
  • OfficeIntegration.Excelオブジェクト_
  • または、this.Statesコレクション(可能性は低いですが)

また指摘されたように、これらのオブジェクトの1つが正しく初期化されていない可能性があります。その線にブレークポイントを置き、そのポイントでの実際の値を確認することにより、これら3つのオブジェクトの値を確認する必要があります。

コードにガード句を入れることもできます(その行のすぐ上):

if(OfficeIntegration == null)|| (OfficeIntegration.Excel == null)return;

必ずしも問題を「修正」するわけではありませんが、null例外の発生を停止します(ただし、これはExecuteメソッドでは問題になりません)。ただし、値がnullになる可能性のあるオブジェクトを参照するときはいつでも、ガード句を設定することをお勧めします。

それができない場合、私たちがあなたに与えることができる他の唯一のアドバイスは、あなたが拡張機能をダウンロードしたギャラリーページの質問セクションに質問を投稿することです。拡張機能のautorはあなたを助けることができるはずです。

于 2012-07-27T02:39:36.970 に答える
0

これはWebアプリケーションですか、もしそうなら、私はそれがそれをサポートしているとは思いません。拡張が必要です。私はあなたのために記事を掘り起こしました、それを試してみてください:

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 Integration Packは、Visual Studio LightSwitch Windowsアプリケーション用であり、IISでホストされているアプリケーションで機能するため、以下のコードは例外をスローします

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

リンクは、拡張機能がLSWebBrowserアプリケーションをサポートしていないことを示していますhttp://officeintegration.codeplex.com/discussions/374585

また、拡張機能のExcelからのデータのインポートは、Webブラウザーで実行されるIISでホストされているLSアプリケーションでも機能します。

于 2012-07-28T20:22:25.563 に答える