我是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表(单页),那么现在如何在同一文档中生成两张表以导出数据?
答案 0 :(得分:0)
嗯,首先,如果你想将数据导出为xls格式,你可能想要使用PHPExcel中的一些组件,比如this 我相信您可以在文档中找到如何为XLS文档创建多个工作表。
如果你想展示excel内容的一种简历(我认为你正在尝试用那些table和td标签)可能你想要类似于HTML中的tab。那么Bootstrap Tabs呢?