質問: c# でexcelファイル(xls)を読み込んだ値を別のテキストファイルに出力する処理をwindowsサーバー上で検討中です。 なお、この処理はタスク起動によるバックグラウンド処理となります。 前回の質問:c#でのExcelファイル読み込み方法について オープンソースの使用は避けたい中、ADO.NET (ODBC)を使用した方法は、 どうかと考えております。 windows server 2012 R2にデフォルトでインストールされているODBC Excelドライバー 32bit でExcelファイル(xls、xlsx)の読み込みは可能でしょうか? 可能であればExcelのインストールをしないでc#の標準の機能だけで対応可能と考えております。
回答: Excelは表計算ソフトであり、厳密にはデータベースではありません。データベース的なアクセス方法で問題ないのでしょうか? Windowsには * ODBC Jet SQLConfigDataSource (Excel Driver) * Microsoft OLE DB Provider for Microsoft Jet Overview などがインストールされていますが、これらは互換のために残されているコンポーネントで32bit版しか提供されていません。ODBCよりはOLE DBの方が使われている気がします。 これらとは別に * ACE; Microsoft Access Database Engine 2016 Redistributable が用意されています。こちらは個別にインストールする必要がありますが、ExcelやAccess本体は不要です。また64bit版も提供されています。ただし、残念なことに公式ドキュメントはなさそうです。