商城首页欢迎来到中国正版软件门户

您的位置:首页 >利用ThinkPHP6实现数据导出

利用ThinkPHP6实现数据导出

  发布于2025-04-24 阅读(0)

扫一扫,手机访问

随着信息化时代的到来,数据导出已经成为企业管理和数据分析的必备技能。数据导出是以计算机程序为基础,将数据库中的数据导出到Excel或CSV文件中,方便用户进行数据处理与分析。本文将介绍如何利用ThinkPHP6实现数据导出。

一、环境搭建

  1. 安装ThinkPHP6

首先,需要安装ThinkPHP6,选择自己习惯的安装方式,例如使用Composer进行安装。

  1. 安装PHPExcel

PHPExcel是一个强大的开源PHP电子表格类库,可用于创建和读取Excel文件。在本文中,由于我们需要导出Excel文件,因此需要安装PHPExcel。

使用Composer进行安装:

composer require phpoffice/phpexcel

安装完成后,需要在入口文件或配置文件中引入PHPExcel:

use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;

二、编写数据导出代码

接下来,我们开始编写数据导出的代码。

  1. 准备数据

为了演示数据导出,我们需要准备一些数据。在本文中,我们将模拟一张商品数据表,其中包含商品名称、价格、库存等信息。

$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'],

];

  1. 创建Excel文件

接下来,我们需要创建一个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']);

}

  1. 导出Excel文件

最后,我们需要导出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可以轻松地实现数据导出功能,为企业管理和数据分析提供了更加便捷的方式。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注