私が取り組んでいるプロジェクトでは、Excelシートの6つの値を更新するためにC#アプリケーションの値が必要です。このエクセルシートは、同じExcelファイル内のいくつかのVLOOKUP式とワークシートによって駆動され、指定された範囲のアイテムと価格を入力します。Excelから値を返さないデータ型(数式からの値)
範囲内の2つの列の名前は「Item」&「Price」です。
「アイテム」は、スプレッドシート上の数式から連結されたアイテムの列であり、これらはDataTableで正常に表示されます。ただし、 'Price'列(VLOOKUP式の数値のすべて)はDataTableに表示されません。
C#でDataTableを読み込むと、2つの列の型のstringとdoubleが正常であることがわかります。数式の値の1つをハードコードされた値で置き換えた場合、DataTableは正常です。したがって、DataTable自体が期待どおりに動作していると思います。
値が渡された後にExcelファイルを開くと、入力値が正しく入力され、数式が正しく計算されていることがわかります。
私は、問題を引き起こしていると考えられるのは、値が渡された後で数式が再計算されないということだけです。
C#でExcelファイルを開き、すべての式を再計算する方法はありますか?
Excelシートを開くためにどのドライバを使用していますか? OLEDBまたはODBC? – jdecuyper
申し訳ありませんが、OLEDBは、更新クエリ(シートに値を追加する)と、DataTableを移入する選択クエリ – lazygamer