如何使用cakephp在单个文档中生成多个Excel工作表

时间:2015-05-26 13:00:14

标签: cakephp-1.3

我是Cakephp的新手我需要使用标签(工作表)生成Excel报告。如何使用cakephp在单个文档中生成多个工作表。我的示例报表控制器具有以下功能

class ReportsController extends AppController {
    Function emp()
    {

    $this->set('crumbName', 'EMP');      

        $this->Emp->recursive = 2;
        $data = $this->Emp->find('all');
        $this->set('rows',$data);
        $this->render('emp_xls','export_xls');
    }

    ...
}

在emp_xls.ctp文件中包含员工信息

    STYLE type="text/css">
    .tableTd {
        border-width: 0.5pt;
        border: solid;
    }

    .tableTdContent {
        border-width: 0.5pt;
        border: solid;
    }

    #titles {
        font-weight: bolder;
    }
    </STYLE>
    <table>
        <tr>
            <td><b>Faculty</b></td>
        </tr>
        <tr>
            <td><b>Date:</b></td>
            <td><?php echo date("F j, Y, g:i a"); ?></td>
        </tr>
        <tr>
            <td></td>
        </tr>
            <?php 
       error_reporting(0);
    echo '<tr id = "titles">';
  echo '<td class="tableTdContent">employee_number</td>';
  echo '<td class="tableTdContent">first_name</td>';
  echo '<td class="tableTdContent">last_name</td>';         
  echo '</tr>';
    ?>  

    <?php 
    foreach($rows as $data)
        {
     echo '<tr>';
 echo '<td class="tableTdContent">'. $data['Emp']['employee_number'].'</td>';
 echo '<td class="tableTdContent">'.$data['Emp']['first_name'].'</td>';
echo '<td class="tableTdContent">'.$data['Emp']['last_name'].'</td>';
echo '</tr>';
            }
                    ?>
    </table>

export_xls.ctp

<?php
header ("Expires: Mon, 28 Oct 2008 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/vnd.ms-excel");
header ("Content-Disposition: attachment; filename=\"Report.xls" );
header ("Content-Description: Generated Report" );
?>
<?php echo $content_for_layout ?> 

此信息将填入excel表(单页),那么现在如何在同一文档中生成两张表以导出数据?

1 个答案:

答案 0 :(得分:0)

嗯,首先,如果你想将数据导出为xls格式,你可能想要使用PHPExcel中的一些组件,比如this 我相信您可以在文档中找到如何为XLS文档创建多个工作表。

如果你想展示excel内容的一种简历(我认为你正在尝试用那些table和td标签)可能你想要类似于HTML中的tab。那么Bootstrap Tabs呢?