Laravel擅长水平阅读 - php

当前使用Laravel-Excel(Maatwebsite)软件包上传excel并阅读它们。问题是,如何在同一Excel文件中读取水平和垂直数据?

我的Excel文件看起来像这样-

Laravel擅长水平阅读 - php

到目前为止,这是我的代码,但没有读取任何内容

$rows = Excel::load('storage\\app\\public\\upload\\Funiture.xlsx)->get();

@foreach ($rows as $key => $value)
    <tr>
      <td>{{ $value->{'Furniture Registration Number'} }}</td>
      <td>{{ $value->{'Number'} }}</td>
      <td>{{ $value->{'Chair Name'} }}</td>
      <td>{{ $value->{'Table Name'} }}</td>
      <td>{{ $value->{'Carpet Color'} }}</td>
   </tr>
@endforeach

编辑

$rows = Excel::load('storage\\app\\public\\upload\\Funiture.xlsx)->get();
<span>Furniture Registration Number : <b>{{ $rows[0][1] }}</b></span>

$rows = Excel::load('storage\\app\\public\\upload\\Funiture.xlsx, function($reader){$reader->noHeading(); $reader->skipRows(3); })->get();;

@foreach ($rows as $key => $value)
  <tr>
    <td>{{ $value->[0] }}</td>
    <td>{{ $value->[1] }}</td>
    <td>{{ $value->[2] }}</td>
    <td>{{ $value->[3] }}</td>
  </tr>
@endforeach

这是正确的吗?

编辑

Laravel擅长水平阅读 - php

这是dd(rows)的结果。如何获取数组数量?在这种情况下,它有7个,如图所示

参考方案

如Laravel-Excel文档所述:

默认情况下,excel文件的第一行将用作属性

因此,如果要使用属性,则需要为第一行定义适当的标题。否则你只能做一件事

试试这个

   $rows= Excel::load("storage\\app\\public\\upload\\Funiture.xlsx", function($reader) {
       $reader->noHeading();
        $reader->skipRows(3); // skip first three rows as they contain headings
    })->get();
    $rows = $rows->toArray();

然后在您的视图中,您可以像这样遍历行

@foreach ($rows as $key => $value)
    <tr>
      <td>{{ $value[0] }}</td>
      <td>{{ $value[1] }}</td>
      <td>{{ $value[2] }}</td>
      <td>{{ $value[3] }}</td>
   </tr>
    @endforeach

编辑:

您不需要两次读取文件,只需读取文件而不跳过3行,然后使用array_slice在读取索引[0][1]的值后跳过前3行。

     $rows= Excel::load("storage\\app\\public\\upload\\Funiture.xlsx", function($reader) {
           $reader->noHeading();
     })->get();
   $rows = $rows->toArray();

然后在您看来

<span>Furniture Registration Number : <b>{{ $rows[0][1] }}</b></span>
@php
    $rows = array_slice($rows,4);
@endphp

@foreach ($rows as $key => $value)
  <tr>
    <td>{{ $value->[0] }}</td>
    <td>{{ $value->[1] }}</td>
    <td>{{ $value->[2] }}</td>
    <td>{{ $value->[3] }}</td>
  </tr>
@endforeach

添加php代码时未包含jQuery源文件 - php

该代码运行良好,但是在我添加了以下php代码之后,一切都掉了。我添加了如下所示的php代码后,它为jquery-1.11.3.js指出“无法加载资源”。我在这里完全迷路了。不知道这是怎么了。<?php $currentMonthInInteger = date("n"); $currentYear = date("Y�…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

通过>和<运算符比较日期 - php

在我的所有php代码中,我都在UTC中存储日期和时间,但是我也在使用mysql存储日期时间(也在utc中)。大于和小于运算符会导致日期比较失败吗? $curdate=date('Y-m-d H:i:s'); if($start_datetime>$curdate) 参考方案 不。他们没有办法失败。为此,特意制作了MySQL日期格式。…

我如何在Safari浏览器中支持<video>? - php

我想在野生动物园浏览器中显示视频,当我刷新浏览器时,什么也没有发生,该怎么办?这是我的代码:<!doctype html> <html> <head> <title>Simple Movie Player</title> </head> <body> <video sr…

XPath表达式在<br>标记后获取字符串 - php

我正在尝试获取article/div/p中的内容,但仅获取<br>标记后的日期。怎么做?<article> <h2>Man rescued after falling into Crater Lake</h2> <p class="summary highlight"> Man …