0

我在使用 PHPExcelReader(实际上是 Spreadsheet_Excel_Reader 类)解析 excel 文件(.xls)时遇到了一个特殊问题。我在不同的应用程序中使用了很多次,每次都很好。我正在为一个应用程序工作,其中有一个 ftp 文件夹,并且每天都会远程放置一个 excel 文件。我有一个每天运行的调度程序任务并读取 excel 文件并更新数据库。

几个月来它工作得很好。现在他们在文件中添加了一些新列,Spreadsheet_Excel_Reader 无法读取数字和日期值。但是,如果我只是打开文件并按 CTRL+S 而不做任何事情,svn 会说文件已被修改,尽管我没有看到与 'SVN: Diff with previous version' 的任何变化。然而,当我看到保存的文件被正确解析时,它正在发挥作用。Bellow 是我在不接触文件的情况下尝试运行脚本时看到的结果。请查看索引 5 到 9。 使用未修改的 excel 文件解析结果

现在看看我在打开文件并按下 CTRL+S 后运行脚本时的解析结果。现在完全确定发生了什么。我联系了他们,他们说他们没有做任何新的事情。 按下 CTRL+S 后解析结果是正确的

关于这个问题的任何想法?非常感谢在这里分享这个想法。

4

1 回答 1

0

你是如何循环并获取单元格值的?你试过使用$cell->val(12,6)吗?一种替代方法可能是(感谢 Mark Ba​​ker):

$range = 'F'.$row.':'.'J'.$row; # assuming F-J cols are your numeric cols
$objPHPExcel->getActiveSheet()
    ->getStyle($range)
    ->getNumberFormat()
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
于 2015-01-25T17:37:12.710 回答