温馨提示×

EasySwoole文档:EasySwoole导入导出Execl表格

小云
130
2023-09-22 02:22:37
栏目: 编程语言

要在EasySwoole中导入导出Excel表格,您可以使用PHPExcel库。下面是一个简单的示例,演示如何导入和导出Excel表格:

  1. 首先,安装PHPExcel库:
composer require phpoffice/phpexcel
  1. 导出Excel表格:
<?php
use EasySwoole\Http\AbstractInterface\Controller;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class ExcelController extends Controller
{
public function index()
{
// 创建一个新的Excel对象
$spreadsheet = new Spreadsheet();
// 设置表格属性
$spreadsheet->getProperties()
->setTitle('导出Excel示例')
->setSubject('导出Excel示例')
->setDescription('这是一个导出Excel示例');
// 创建一个工作表
$sheet = $spreadsheet->getActiveSheet();
// 设置表头
$sheet->setCellValue('A1', '姓名')
->setCellValue('B1', '年龄');
// 设置数据行
$sheet->setCellValue('A2', '张三')
->setCellValue('B2', 20);
$sheet->setCellValue('A3', '李四')
->setCellValue('B3', 25);
// 创建一个新的Excel文件写入器
$writer = new Xlsx($spreadsheet);
// 将Excel文件写入到指定的路径
$filename = '/path/to/exported/excel.xlsx';
$writer->save($filename);
// 下载Excel文件
$this->response()->withHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
$this->response()->withHeader('Content-Disposition', 'attachment;filename="excel.xlsx"');
$this->response()->withFile($filename);
}
}
  1. 导入Excel表格:
<?php
use EasySwoole\Http\AbstractInterface\Controller;
use PhpOffice\PhpSpreadsheet\IOFactory;
class ExcelController extends Controller
{
public function index()
{
// 获取上传的Excel文件
$uploadedFile = $this->request()->getUploadedFile('file');
// 获取文件路径
$tempFilePath = $uploadedFile->getTempName();
// 读取Excel文件
$spreadsheet = IOFactory::load($tempFilePath);
// 获取工作表
$sheet = $spreadsheet->getActiveSheet();
// 获取单元格值
$name = $sheet->getCell('A2')->getValue();
$age = $sheet->getCell('B2')->getValue();
// 处理导入的数据,例如保存到数据库等
// 返回响应
$this->response()->write("导入成功");
}
}

请注意,上述示例仅作为演示目的。您可能需要根据实际需求进行调整和优化。

0