ExcelがInstallしていないPCにてxlsファイルの
データ読み出しをする方法ってありますか?
やっぱり、csvに変換したもので処理するしか方法は
ないのでしょうか?
そのXLSファイルの中身は、不定形ですか?
それとも行方向にフォーマットが一定ですか?
データベース的に行がレコードの状態なら、ADO使って
データベースにアクセスするように読み出せます。
不定形なら・・・エクセルよりは安価な他者有償商品
を使うしかないでしょう。
以上。
>そのXLSファイルの中身は、不定形ですか?
>それとも行方向にフォーマットが一定ですか?
定型ですが、行のはじめからではなく、数行空けてデータが書かれています。
それ以降は行方向にフォーマットが一定なのですが、、、
既存のExcel一覧表なので、そちらのデータ自体は変えたくないです。
どうでしょうか?
残念ながら無理です。
エクセルを買うか、他有償アプリの購入をご検討下さい。
以上。
ありがとうございます。
そのExcelを別でcsv化したものを使用する方向で検討したいと思います。
いろいろとありがとうございました。
> ExcelがInstallしていないPCにてxlsファイルの
> データ読み出しをする方法ってありますか?
Excel 読み込みに対応したコンポーネントを購入した方が早いとは思いますが、
技術的には可能です。
方法の一つは、JET の Excel I-ISAM 機能を使って読み取るという物です。
これは、ADO(Provider=Microsoft.JET.OLEDB.4.0)もしくは DAO を通じて
読みとるという物です。(制限が多いので、万能な方法ではありませんが)
なお、この方法を使ったサンプルの多くは、シート名を指定して読みとる方式に
なっていますが、この場合、空行があるとうまく読み込めない事があるので、
今回の場合には、シート名とセル範囲を指定して取得する必要があります。
この方法が使えない場合には、xls ファイルの生のバイナリを扱うことになります。
手軽な方法では無いので、個人的にはあまりお奨めしませんけれどね。
(OLE構造化ドキュメントと、BIFF に関する知識が要求されるかと思います)
バイナリフォーマットが知りたい場合には、下記を参照してください。
http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx
また、BIFF8 で良ければ『Excel 97 Developer's Kit』にも記載があります。
(ただし、幾つかの誤りががありますが)
http://support.microsoft.com/kb/184647/
http://support.microsoft.com/kb/195237/
ツイート | ![]() |