Excelが入っていないPCでxlsファイルの読み出すには?

解決


Jun039  2009-06-07 07:16:28  No: 142019

ExcelがInstallしていないPCにてxlsファイルの
データ読み出しをする方法ってありますか?

やっぱり、csvに変換したもので処理するしか方法は
ないのでしょうか?


オショウ  2009-06-07 07:47:17  No: 142020

そのXLSファイルの中身は、不定形ですか?
それとも行方向にフォーマットが一定ですか?

データベース的に行がレコードの状態なら、ADO使って
データベースにアクセスするように読み出せます。

不定形なら・・・エクセルよりは安価な他者有償商品
を使うしかないでしょう。

以上。


Jun039  2009-06-07 08:05:34  No: 142021

>そのXLSファイルの中身は、不定形ですか?
>それとも行方向にフォーマットが一定ですか?

定型ですが、行のはじめからではなく、数行空けてデータが書かれています。
それ以降は行方向にフォーマットが一定なのですが、、、

既存のExcel一覧表なので、そちらのデータ自体は変えたくないです。

どうでしょうか?


オショウ  2009-06-07 08:41:26  No: 142022

残念ながら無理です。

エクセルを買うか、他有償アプリの購入をご検討下さい。

以上。


Jun039  2009-06-07 08:55:05  No: 142023

ありがとうございます。
そのExcelを別でcsv化したものを使用する方向で検討したいと思います。
いろいろとありがとうございました。


魔界の仮面弁士  2009-06-07 09:12:21  No: 142024

> 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/


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加