SpreadsheetReader – 从行php获取int数据
我试图从文件* .xls中获取数据。 一切正常,显示数据的时刻。
* .php代码:
$Spreadsheet = new SpreadsheetReader("test.xls"); $Sheets = $Spreadsheet -> Sheets(); foreach ($Sheets as $Index => $Name) { $Spreadsheet -> ChangeSheet($Index); foreach ($Spreadsheet as $Key => $Row) { print_r($Row); } }
显示结果:
Array ( [0] => Col1 [1] => Col2 [2] => Col3 ) Array ( [0] => General [1] => General [2] => One123two ) Array ( [0] => General [1] => like [2] => General )
而不是string“一般”,数字应该出现(这就是我的excel / calc文件的样子):
Array ( [0] => Col1 [1] => Col2 [2] => Col3 ) Array ( [0] => 123 [1] => 123 [2] => One123two ) Array ( [0] => 412 [1] => like [2] => 1517 )
test.xls文件
我也尝试改变扩展到test.ods,一切都很好,但我的主要目标文件给我一个错误信息:
> Fatal error: Uncaught exception 'Exception' with message 'SpreadsheetReader_ODS: File not readable (File 2.ods) (Error 19)' in /libs/excelreader/SpreadsheetReader_ODS.php:65 Stack trace: #0 /libs/excelreader/SpreadsheetReader.php(177): SpreadsheetReader_ODS->__construct('File 2.ods', Array) #1 /import-customers.php(36): SpreadsheetReader->__construct('File 2.ods') #2 {main} thrown in /libs/excelreader/SpreadsheetReader_ODS.php on line 65
在处理* .ods文件时,出现了这个错误,这个文件大约有3,6mb大,有48列和10k行。 当试图将该文件更改为* .xls时,我得到了与test.xls文件相同的结果,也就是说,在每个单元格中,而不是整数(数字),我得到一个“常规”字。
但说实话,我不知道这是错误的意思。
部分解决。
主文件* .ods被损坏。 事实certificate,该文件已损坏。 它太重了(而不是3.6MB应该是1MB),但打开损坏的文件后,它看起来没事。
解决scheme是使用“另存为”再次保存原始文件。 之后,该文件已被脚本成功读取。 但是,在使用了* .xls文件的部分,数字不是数字而是出现了“一般”这个词。