2016-06-08 57 views
0

我使用PHPExcel和CodeIgniter來創建應用程序。我有我的Excel的治療模式:PHPExcel以HTML表格的形式顯示結果

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特定的列和行?

+1

我只能假設'$ excel'實際上是一個數組。只需在視圖中循環,並回應任何需要回應的內容。 – Andrew

+1

正如@安德魯所說:你正在使用短標籤,這意味着'<?php echo $ excel;?>'。回聲功能不能顯示數組輸出。你應該使用'<?php print_r($ excel);?>'。 [回聲](http://php.net/manual/en/function.echo.php)| [print_r()](http://php.net/manual/en/function.print-r.php) – Tpojka

+0

嘿!感謝您的提示!我用「foreach」解決了我的問題,將會發布。 –

回答

0

用「foreach」解決。這裏是最終的代碼:

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

$objWorksheet將是一個二維數組,行和列,具有1行和7列,所以您需要遍歷該行以獲取列數組,然後遍歷這些列以獲取在您的視圖中顯示的單個單元格值

相關問題