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文件的部分,数字不是数字而是出现了“一般”这个词。