【问题标题】:PHPExcel print array result as HTML table in viewPHPExcel 将数组结果打印为视图中的 HTML 表
【发布时间】:2016-06-08 14:47:38
【问题描述】:

我正在使用 PHPExcel 和 CodeIgniter 来制作应用程序。我有我的 Excel 模型处理:

class modelExcel extends CI_Model
{
  protected $excel;

  function __construct() {
    parent::__construct();
    $this->load->library('Excel');
  }

  function readReport() { //Função para retorno dos dados do arquivo Excel
    $this->excel = PHPExcel_IOFactory::load(APPPATH."/exceldata/wf.xlsx");

    //Seleciona a planilha ativa
    $objWorksheet = $this->excel->getActiveSheet()->rangeToArray('D7:J7');

    return $objWorksheet;
  }
}

我获取所有数据并发送到视图的主页控制器:

public function index() {
        if($this->session->userdata('logged')) {
            $this->load->model('ModelExcel');
            $data['excel'] = $this->ModelExcel->readReport();
            $sessionData = $this->session->userdata('logged');
            $data['username'] = $sessionData['userName'];
            $this->load->view('template/header', $data);
            $this->load->view('home');
            $this->load->view('template/footer');   
        }

最后是我的视图(有更多代码,但这正是我想要打印表格的地方):

<div class="row"> 
   <div class="col-md-6">
        <?=$excel?>
    </div>
</div>

完全按此操作,我收到了数组到字符串转换的错误。还有其他方法可以打印 excel 特定的列和行吗?

【问题讨论】:

  • 我只能假设$excel 实际上是一个数组。只需在您的视图中循环它并回显任何需要回显的内容。
  • 正如@Andrew 所说:您使用的是短标签,这意味着&lt;?php echo $excel;?&gt;。 Echo 函数无法显示数组输出。你应该使用&lt;?php print_r($excel);?&gt;echo | print_r()
  • 嘿!感谢您的提示!我用“foreach”解决了我的问题,将发布。

标签: php codeigniter


【解决方案1】:

$objWorksheet 将是一个二维数组,行和列,有 1 行和 7 列,因此您需要遍历该行以获取列数组,然后遍历这些列以获得显示在视图中的单个单元格值

【讨论】:

    【解决方案2】:

    用“foreach”解决。这是最终代码:

    foreach ($excelData as $dataArray) {
                foreach ($dataArray as $dataValue) {
                    echo $dataValue;
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 2018-04-26
      相关资源
      最近更新 更多