ThinkPHP 是一个流行的 PHP 开发框架,它提供了丰富的功能和组件,方便开发者快速构建 Web 应用程序。Excel 导出是指将数据从应用程序导出到 Excel 文件中,以便用户可以下载和使用这些数据。
以下是一个使用 ThinkPHP 导出 Excel 文件的示例代码:
<?php
namespace app\index\controller;
use think\Controller;
use think\facade\Cache;
use think\facade\Log;
use think\facade\Request;
use think\facade\Validate;
use think\helper\Arr;
use think\helper\Str;
use think\response\Json;
use think\response\Xml;
use think\response\Download;
class ExcelController extends Controller
{
public function export()
{
// 示例数据
$data = [
['name' => '张三', 'age' => 20, 'email' => 'zhangsan@example.com'],
['name' => '李四', 'age' => 25, 'email' => 'lisi@example.com'],
['name' => '王五', 'age' => 30, 'email' => 'wangwu@example.com'],
];
// 创建 Excel 文件
$excel = new \PHPExcel();
$excel->setActiveSheetIndex(0);
$sheet = $excel->getActiveSheet();
// 设置表头
$sheet->setCellValue('A1', '姓名');
$sheet->setCellValue('B1', '年龄');
$sheet->setCellValue('C1', '邮箱');
// 填充数据
$row = 2;
foreach ($data as $item) {
$sheet->setCellValue('A' . $row, $item['name']);
$sheet->setCellValue('B' . $row, $item['age']);
$sheet->setCellValue('C' . $row, $item['email']);
$row++;
}
// 设置列宽
$sheet->getColumnDimension('A')->setWidth(20);
$sheet->getColumnDimension('B')->setWidth(10);
$sheet->getColumnDimension('C')->setWidth(30);
// 导出文件
$filename = 'example.xlsx';
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="' . $filename . '"');
header('Cache-Control: max-age=0');
$writer = \PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$writer->save('php://output');
exit;
}
}memory_limit 配置来解决。memory_limit 配置来解决。PHPExcel 提供的更多功能来设置单元格样式、字体、颜色等。通过以上方法,可以有效地解决在 ThinkPHP 中导出 Excel 文件时遇到的大部分问题。