您的位置:首页 >利用ThinkPHP6实现数据导出
发布于2025-04-24 阅读(0)
扫一扫,手机访问
随着信息化时代的到来,数据导出已经成为企业管理和数据分析的必备技能。数据导出是以计算机程序为基础,将数据库中的数据导出到Excel或CSV文件中,方便用户进行数据处理与分析。本文将介绍如何利用ThinkPHP6实现数据导出。
一、环境搭建
首先,需要安装ThinkPHP6,选择自己习惯的安装方式,例如使用Composer进行安装。
PHPExcel是一个强大的开源PHP电子表格类库,可用于创建和读取Excel文件。在本文中,由于我们需要导出Excel文件,因此需要安装PHPExcel。
使用Composer进行安装:
composer require phpoffice/phpexcel
安装完成后,需要在入口文件或配置文件中引入PHPExcel:
use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;
二、编写数据导出代码
接下来,我们开始编写数据导出的代码。
为了演示数据导出,我们需要准备一些数据。在本文中,我们将模拟一张商品数据表,其中包含商品名称、价格、库存等信息。
$list = [
['name' => '商品A', 'price' => '100', 'stock' => '50'], ['name' => '商品B', 'price' => '200', 'stock' => '70'], ['name' => '商品C', 'price' => '150', 'stock' => '30'], ['name' => '商品D', 'price' => '80', 'stock' => '20'], ['name' => '商品E', 'price' => '300', 'stock' => '10'],
];
接下来,我们需要创建一个Excel文件,并将数据导出到该文件中。
$spreadsheet = new Spreadsheet(); // 创建一个Excel对象
$sheet = $spreadsheet->getActiveSheet(); // 获取当前工作表
$sheet->setTitle('商品信息'); // 设置工作表标题
// 向工作表中添加数据
$sheet->setCellValue('A1', '商品名称')
->setCellValue('B1', '价格')
->setCellValue('C1', '库存');
foreach ($list as $key => $value) {
$row = $key + 2;
$sheet->setCellValue('A' . $row, $value['name'])
->setCellValue('B' . $row, $value['price'])
->setCellValue('C' . $row, $value['stock']);}
最后,我们需要导出Excel文件并提供下载链接。
$writer = new Xlsx($spreadsheet); // 创建写入器
$filename = '商品信息.xlsx'; // 文件名
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $filename . '"');
header('Cache-Control: max-age=0');
$writer->save('php://output'); // 将Excel文件输出到浏览器
完整的数据导出代码如下:
use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;
public function export()
{
// 模拟数据
$list = [
['name' => '商品A', 'price' => '100', 'stock' => '50'],
['name' => '商品B', 'price' => '200', 'stock' => '70'],
['name' => '商品C', 'price' => '150', 'stock' => '30'],
['name' => '商品D', 'price' => '80', 'stock' => '20'],
['name' => '商品E', 'price' => '300', 'stock' => '10'],
];
$spreadsheet = new Spreadsheet(); // 创建一个Excel对象
$sheet = $spreadsheet->getActiveSheet(); // 获取当前工作表
$sheet->setTitle('商品信息'); // 设置工作表标题
// 向工作表中添加数据
$sheet->setCellValue('A1', '商品名称')
->setCellValue('B1', '价格')
->setCellValue('C1', '库存');
foreach ($list as $key => $value) {
$row = $key + 2;
$sheet->setCellValue('A' . $row, $value['name'])
->setCellValue('B' . $row, $value['price'])
->setCellValue('C' . $row, $value['stock']);
}
$writer = new Xlsx($spreadsheet); // 创建写入器
$filename = '商品信息.xlsx'; // 文件名
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $filename . '"');
header('Cache-Control: max-age=0');
$writer->save('php://output'); // 将Excel文件输出到浏览器}
三、运行程序
完成代码后,我们可以通过访问程序的URL地址来运行程序,即可下载Excel文件。
四、总结
本文介绍了如何利用ThinkPHP6实现数据导出。通过本文的示例,我们可以看到,利用ThinkPHP6和PHPExcel可以轻松地实现数据导出功能,为企业管理和数据分析提供了更加便捷的方式。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9