2017-05-08 31 views
0

Excelシートをインポートすることを目的としたこのプロジェクトはあります:ファイルはレポートであり、フラットファイルではなく、そのような入手方法はありません。だから私はファイルを読み込んで、必要なデータをアプリケーションに保存するためにPHP Excelを使用しています。PHP ExcelはExcel 4.0ワークシートを読み取ることができません

ファイルはExcel 4.0形式で編集できません(明らかに)、MS Excelアプリケーションで開くことができますが、Excel5でそれを読み取ろうとすると例外がスローされます。

Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'The filename C:/xampp/htdocs/uploads/PS.xls is not recognised as an OLE file' in C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel\Shared\OLERead.php on line 90 

PHP ExcelがHTML形式でのファイルを識別し、また、私にエラーがスローされます:

Warning: DOMDocument::loadHTML(): Invalid char in CDATA 0x4 in Entity, line: 1 in C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel\Reader\HTML.php on line 495 

私は、データが特殊文字(UTF-8)が含まれていbeacuseこれがあるとしたが、何も見つかりませんでしたPHPExcelでエンコーディングを変更する可能性があります。この問題と私は、これを解決する方法がないと考え始めています。ユーザーに&のデータを "まともな" Excelファイルに貼り付けるように依頼する以外は...そういった方法では動作しますが、手作業を必要とします...

+0

エンコードis'n問題のようです:$ objReader-> setInputEncoding( 'UTF-8');どちらもうまくいきませんでした。 –

答えて

1

いいえ、読めません。 PHPExcelが読むことができる最低限のBIFF形式のバージョンは、BIFF 5(1993年、24年前)

BIFF 4(1992年から)を読むことができるものを見つけることができます。 OLE2を使用するxlsファイル(BIFF 5以降)私はそのような初期のフォーマットを扱うことができる純粋なPHP拡張を認識していません。商用LibXlエクステンションを使用する必要があるかもしれません。

+0

マークありがとうございました!この場合は、マクロを作成するか、ユーザーが手動でデータをコピー&ペーストする必要があります。 –

関連する問題