3

クライアント情報を含むExcelスプレッドシートがあります。コンボボックス(comboBox1)に列Aの一意の値を入力します。次に、2番目のコンボボックス(comboBox2)に、comboBox1 =列Aの場所に存在する列Bの値を一覧表示します。最後に、テキストフィールドに列のC、D、Eなどを入力します。

希望する結果のクイック画面をモックアップしました。

ここに画像の説明を入力してください

これは、次のスプレッドシートから導き出されます。

ここに画像の説明を入力してください

スプレッドシートのデータは時々変更されるため、情報をハードコーディングすることはできません。

これからどこから始めればいいのかわかりません。データを2D配列にロードしますか、それともそれを行うためのより良い方法がありますか?

4

1 に答える 1

2

少なくともいくつかのオプションがあります。

OOXml SDK

Excelファイルが2007形式(xlsx)以上の場合は、Microsoftが提供するOOXmlSDKを介してプログラムで操作できます。

次のハウツーをご覧ください。

方法:スプレッドシートドキュメントのセルの値を取得する

スプレッドシートの他のハウツーの場合:

http://msdn.microsoft.com/en-us/library/office/cc850837.aspx

相互運用

Excelを自動化し、プログラムで操作することができます。これには、プログラムの実行元のコンピューターにExcelがインストールされている必要があります。Microsoftは、これがサーバー環境ではサポートされていないことにも注意しています。

C#を介したExcelの相互運用性については、SOに関する多くの質問があります。

https://stackoverflow.com/search?q=C%23+and+Excel+interop

Excelドライバー

MSは、ExcelのODBCおよびOLEDBドライバーを提供します。

于 2012-11-07T18:50:39.883 に答える