【问题标题】:excel file read rows and columns - phpexcel文件读取行和列 - php
【发布时间】:2019-12-17 06:57:55
【问题描述】:
$arr=array();
$row = -1;
if (($handle = fopen("out.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);

        $row++;
        for ($c = 0; $c < $num; $c++) {
            $arr[$row][$c]= $data[$c];
        }
    }
    fclose($handle);
}

我正在使用此代码读取excel文件数据,此代码计算一行中以逗号(,)分隔的元素,

姓名、姓氏、电话号码、电话

  1. 姓名
  2. 姓氏
  3. 数量
  4. 电话

但在一个字段中,我有一个词 Orginal,并且这段代码还将元素除以该词,如下所示:

  1. 奥吉纳
  2. l

这样,我收到了错误的元素,有什么帮助吗?

【问题讨论】:

  • 您能否显示您正在尝试读取的实际文件以及导致问题的内容,以便其他人可以重现该问题。
  • 显示这部分文件的图片,可能这一行有问题,不是代码。
  • 顺便说一句 - 如果您只想复制所有数组,可以将循环中的整个代码替换为 $arr[] = $data;
  • 如何上传文件
  • @NigelRen 我更新了描述。我插入行在编辑器中的外观

标签: php excel csv phpexcel


【解决方案1】:

排队

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

1000 是要读取的数据的最大长度,因为您的数据(在发布的示例中)超过此长度,它将拆分数据。

为了让它正确读取数据,您可以将第二个和第三个参数保留为默认值(长度为 null - 换句话说,任何长度,默认分隔符都是逗号...

while (($data = fgetcsv($handle)) !== FALSE) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    相关资源
    最近更新 更多