Cakephpを初めて使用する場合、タブ(シート)を使用してExcelレポートを生成する必要があります。Cakephpを使用して1つのドキュメントに複数のシートを生成するにはどうすればよいですか。次の機能を持つ私のサンプルレポートコントローラー
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シート(シングルシート)に入力されます。では、同じドキュメントに2つのシートを生成して、データをエクスポートするにはどうすればよいですか?
まず、データをxls形式にエクスポートする場合は、PHPExcelに基づくコンポーネントを使用することをお勧めします。このように、ドキュメントでXLSドキュメント用に複数のシートを作成する方法を見つけることができると確信しています。
Excelのコンテンツのある種の履歴書を表示したい場合(これらのテーブルタグとtdタグでやろうとしていることだと思います)、おそらくHTMLのタブに似たものが必要です。何についてのブートストラップのタブ?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加