三、使用示例
/**
* 导出测试
* @author LWW
*/
public function export()
{
$header = [
[
'title' => '一级表头1',
'children' => [
[
'title' => '二级表头1',
],
[
'title' => '二级表头2',
],
[
'title' => '二级表头3',
],
]
],
[
'title' => '一级表头2'
],
[
'title' => '一级表头3',
'children' => [
[
'title' => '二级表头1',
'children' => [
[
'title' => '三级表头1',
],
[
'title' => '三级表头2',
],
]
],
[
'title' => '二级表头2',
],
[
'title' => '二级表头3',
'children' => [
[
'title' => '三级表头1',
'children' => [
[
'title' => '四级表头1',
'children' => [
[
'title' => '五级表头1'
],
[
'title' => '五级表头2'
]
]
],
[
'title' => '四级表头2'
]
]
],
[
'title' => '三级表头2',
],
]
]
]
],
[
'title' => '一级表头4',
],
[
'title' => '一级表头5',
],
];
$data= [];
// header头规则 title表示列标题,children表示子列,没有子列children可不写或为空
for ($i = 0; $i < 100; $i++) {
$data[] = [
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
'这是第'. $i .'行测试',
];
}
$fileName = '很厉害的文件导出类';
$xlsWriterServer = new MultiFloorXlsWriterService();
$xlsWriterServer->setFileName($fileName, '这是Sheet1别名');
$xlsWriterServer->setHeader($header, true);
$xlsWriterServer->setData($data);
$xlsWriterServer->addSheet('这是Sheet2别名');
$xlsWriterServer->setHeader($header); //这里可以使用新的header
$xlsWriterServer->setData($data); // 这里也可以根据新的header定义数据格式
$filePath = $xlsWriterServer->output(); // 保存到服务器
$xlsWriterServer->excelDownload($filePath); // 输出到浏览器
}