私はOleDbを使用して、多数のシートを含むExcelブックから読み取ります。
シート名を読む必要がありますが、スプレッドシートで定義されている順序でそれらを必要とします。したがって、次のようなファイルがある場合、
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
次に、辞書を入手する必要があります
1="GERMANY",
2="UK",
3="IRELAND"
私はを使用してみましたOleDbConnection.GetOleDbSchemaTable()
が、名前のリストが表示されますが、アルファベット順に並べ替えられます。alpha-sortは、特定の名前がどのシート番号に対応するのかわからないことを意味します。だから私は得る;
GERMANY, IRELAND, UK
これは、の順番を変更したUK
とIRELAND
。
ソートする必要があるのは、ユーザーに名前またはインデックスでデータの範囲を選択させる必要があるためです。「ドイツからアイルランドまでのすべてのデータ」または「シート1からシート3までのデータ」を要求できます。
任意のアイデアをいただければ幸いです。
私がオフィスの相互運用クラスを使用できれば、これは簡単です。残念ながら、相互運用クラスはWindowsサービスやASP.NETサイトなどの非対話型環境では確実に機能しないため、私はできません。そのため、OLEDBを使用する必要がありました。