Hyperf 프레임워크를 사용하여 Excel을 가져오고 내보내는 방법
요약: 이 문서에서는 Hyperf 프레임워크에서 Excel 파일 가져오기 및 내보내기 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
키워드: Hyperf 프레임워크, Excel 가져오기, Excel 내보내기, 코드 예제
Import
먼저 프로젝트에 phpoffice/phpspreadsheet
라이브러리가 설치되어 있는지 확인해야 합니다. 터미널에서 다음 명령을 실행하여 설치할 수 있습니다. phpoffice/phpspreadsheet
这个库。可以通过在终端中执行以下命令进行安装:
composer require phpoffice/phpspreadsheet
app/Controller
目录下创建一个 ExcelController.php
文件,添加以下代码:<?php declare(strict_types=1); namespace AppController; use PhpOfficePhpSpreadsheetIOFactory; class ExcelController { public function import() { $uploadedFile = $this->request->file('excel_file'); $spreadsheet = IOFactory::load($uploadedFile->getPathname()); $worksheet = $spreadsheet->getActiveSheet(); $data = $worksheet->toArray(); // 处理导入逻辑 } }
然后,在 config/routes.php
文件中添加以下路由:
use AppControllerExcelController; Router::post('/excel/import', [ExcelController::class, 'import']);
resources/views
目录中创建一个 import.blade.php
文件,添加以下表单代码:<form action="/excel/import" method="post" enctype="multipart/form-data"> <input type="file" name="excel_file"> <button type="submit">导入</button> </form>
import
方法中,我们使用 PhpSpreadsheet
库加载上传的 Excel 文件,并将其转换为数组格式。然后,我们可以根据实际需求对数据进行处理。导出
导出Excel文件主要涉及两个步骤:创建Excel文件和下载Excel文件。
PhpSpreadsheet
库创建一个 Excel 文件。use PhpOfficePhpSpreadsheetSpreadsheet; use PhpOfficePhpSpreadsheetWriterXlsx; public function export() { $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); // 设置表头 $worksheet->setCellValue('A1', '姓名') ->setCellValue('B1', '年龄') ->setCellValue('C1', '性别'); // 设置数据行 $data = [ ['张三', '20', '男'], ['李四', '30', '女'], ]; $row = 2; foreach ($data as $item) { $column = 'A'; foreach ($item as $value) { $worksheet->setCellValue($column . $row, $value); $column++; } $row++; } // 保存文件 $writer = new Xlsx($spreadsheet); $writer->save('storage/export.xlsx'); }
use PsrHttpMessageStreamInterface; use SymfonyComponentConsoleOutputStreamOutput; public function download() { $file = 'storage/export.xlsx'; return $this->response->withHeader('Content-Disposition', 'attachment;filename=' . $file) ->withHeader('Pragma', 'public') ->withHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') ->withHeader('Content-Length', filesize($file)) ->withBody(new StreamOutput(fopen($file, 'r'))); }
在路由文件中添加以下路由:
Router::get('/excel/download', [ExcelController::class, 'download']);
将导出的文件存储在 storage
目录下,并通过浏览器访问 /excel/download
rrreee
app/Controller
디렉토리에 ExcelController.php
파일을 생성하고 다음 코드를 추가합니다:그런 다음 config/ 경로 .php
파일에 다음 경로를 추가합니다:
rrreee
resources/views
에서 import.blade 만들기 code> 디렉토리.php
파일에 다음 양식 코드를 추가합니다: 가져오기 컨트롤러의 code> 메서드에서는 <code>PhpSpreadsheet
라이브러리를 사용하여 업로드된 Excel 파일을 로드하고 배열 형식으로 변환합니다. 그러면 실제 필요에 따라 데이터를 처리할 수 있습니다.
PhpSpreadsheet
라이브러리를 사용하여 Excel 파일을 만들 수 있습니다. storage
디렉터리에 저장하고 브라우저를 통해 /excel/download에 액세스하세요. /code> 파일을 다운로드합니다. 🎜🎜요약🎜이 글에서는 Hyperf 프레임워크를 사용하여 Excel 파일 가져오기 및 내보내기 기능을 구현하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 간단한 구성과 코딩을 통해 Hyperf 프레임워크에서 Excel 가져오기 및 내보내기를 빠르게 구현하여 개발 효율성을 높일 수 있습니다. 🎜
위 내용은 Excel 가져오기 및 내보내기에 Hyperf 프레임워크를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!