0

私のソース コードでは、Excel 2007 スタイルシートの内容を読み取る必要があります。そのため、最初に OleDbConnection を設定しました。

OleDbConnection conn = new OleDbConnection(String.Format(@"Provider = Microsoft.ACE.OLEDB.12.0;Data Source = {0};Extended Properties =""Excel 12.0 Xml;HDR=YES;IMEX=1"";", xlsFilePath));

これは私のコンピューターでは完全に機能しますが、展開されたサーバーでは機能しません: Microsoft.ACE.OLEDB.12.0はそこで利用可能なプロバイダーではありません。これはおそらく、コンピューターに Office 2007 がインストールされているためです。残念ながら、サーバーにインストールすることはできません。

それでも、プロバイダーを含む dll のみをサーバーにインストールすることもできますが、それは問題ありません...そのいまいましい dll が何であるかを知ることができる限り!

それが私が髪を引き裂くところです.Excel 12.0接続を処理するために動的にロードされる実際のコンポーネントを見つけるために、デバッグウィンドウのメンバーツリーで自分の道を見つけることができません.どのクラスですか?どのアセンブリですか?わかりません、私は迷っています。

あなたの助けは大歓迎です! :-)

4

1 に答える 1

0

最終的に、サーバーに Office 2007 用のドライバーをインストールすることで問題を解決しました (Office 2007 ドライバーは、ライセンスに関して Office 2007 アプリケーションと同じ問題を抱えていません)。

リンクは次のとおりです。 http://www.microsoft.com/download/en/confirmation.aspx?id=23734

次に、接続文字列を次のように変更しました

@"Provider = Microsoft.ACE.OLEDB.12.0;Data Source = {0};Extended Properties =""Excel 12.0 Xml;HDR=YES;IMEX=1"";"

これが同じ質問に直面している誰かに役立つことを願っています。:-)

于 2011-06-29T08:52:47.800 に答える