2

私は C#.net (4.0) を使用しており、パラメーターを Excel ファイルに入れて結果を計算しようとしています。このエクセルファイルには、必要な数式が配置されています。たとえば、セル A1、A2、A3 にパラメータを入力すると、結果の値が計算され、セル a4 に表示されます。セルa4には、a1、a2、およびa3の値を利用する式があります。

oledb プロバイダー (v4.0) を使用して、この Excel ファイルに簡単に接続できました。次に、a1、a2、および a3 のセル値を設定することもできました。結果はセルa4に表示されていました(確認するためにExcelファイルを開きました)。しかし、唯一の問題は、セル a4 から値を読み取ったときに、そのまま返されないことです。

a4 で計算された値: 6.67% 同じセルの .net コードで取得した値: 0.092323323211... (このようなもの)

解決策として、a3 の「値」の部分を別のセルにコピーして (b3 = VALUE(a3) のように)、b3 を読み取ろうとしました。しかし、私は同じ結果を得ます。

これに対する修正はありますか?ここで、製剤化された細胞に固有の何かが欠けていますか? それともMS oledbのバグですか?

入力していただきありがとうございます....

4

1 に答える 1

1

接続文字列に IMEX=1 を追加してみてください。

于 2013-04-23T13:46:02.353 に答える