【问题标题】:spreadsheet excel reader not reading sheet if it has data on row 65536如果电子表格 Excel 阅读器在第 65536 行有数据,则不阅读工作表
【发布时间】:2017-08-11 11:55:32
【问题描述】:

我正在尝试使用 spreadsheet_excel_reader 读取电子表格 (.xls)。我的代码如下:

<?php
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read('test.xls');
echo $data->sheets[0]['numRows'];die;
?>

这将返回数据所在的行数。如果第 65536 行有任何数据,则返回 0。实际返回值应为 65536。是否有任何修复或解决方法?

【问题讨论】:

  • 你看过这个了吗? stackoverflow.com/q/197762/1415724stackoverflow.com/q/4895230/1415724github.com/iliaal/php_excel/issues/13 - 听起来你已经达到了极限。
  • @Fred-ii- 感谢您回复链接.. 那么这里的底线是什么?
  • 是的,限制是直到 65536,但是电子表格允许我们在 65536 行上写入,那么它也应该允许我们读取 65536 行上的数据。
  • 欢迎。 TBH,我无法为您提供解决方案。我用谷歌搜索了错误以查看可能的解决方案供您研究。让我们看看其他人是否可以帮助您解决这个问题。但是,请仔细阅读这些问答,看看它们是否对您有帮助,其中应该有一些可以提供解决方案的东西。
  • 我对php不熟悉,但是如果你能以某种方式检查第一行是否有数据,但结果是0,那么你知道正确的值是工作表限制(65536在这个案例)。

标签: php excel phpexcel spreadsheet phpexcelreader


【解决方案1】:

我可能没有明白这一点,但这可能是因为第一行在 Excel 中以 1 开头,而在大多数编码实现中以 0 开头。因此,如果您在 Excel 中有 10 行,那么您的索引范围为 0-9 = 10 个值!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多