thinkphp导出excel表格
时间: 2024-01-23 21:13:05 浏览: 26
以下是使用ThinkPHP框架和PHPExcel类库导出Excel表格的步骤:
1.下载并安装PHPExcel类库,将下载的PHPExcel文件夹放入项目的vendor目录下。
2.创建一个控制器,例如ExcelController,并在控制器中添加一个export方法。
3.在export方法中,实例化PHPExcel类库,并设置Excel表格的属性,例如表格标题、表格列名等。
4.从数据库中获取需要导出的数据,并将数据填充到Excel表格中。
5.将Excel表格输出到浏览器,让用户可以下载。
以下是一个示例代码:
```php
<?php
namespace app\index\controller;
use think\Controller;
use PHPExcel;
use PHPExcel_IOFactory;
class ExcelController extends Controller
{
public function export()
{
// 实例化PHPExcel类库
$objPHPExcel = new PHPExcel();
// 设置Excel属性
$objPHPExcel->getProperties()->setCreator("ThinkPHP")
->setLastModifiedBy("ThinkPHP")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
// 设置表格标题
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '姓名')
->setCellValue('B1', '年龄')
->setCellValue('C1', '性别');
// 从数据库中获取数据
$data = db('user')->select();
// 将数据填充到Excel表格中
$i = 2;
foreach ($data as $item) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A' . $i, $item['name'])
->setCellValue('B' . $i, $item['age'])
->setCellValue('C' . $i, $item['gender']);
$i++;
}
// 输出Excel表格到浏览器
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="user.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
}
}
```