如何使用Hyperf框架進行Excel導入導出
摘要:本文將介紹如何在Hyperf框架中實現(xiàn)Excel文件的導入和導出功能,并給出了具體的代碼示例。
關鍵字:Hyperf框架、Excel導入、Excel導出、代碼示例
導入
首先,我們需要確保項目中安裝了 phpoffice/phpspreadsheet
這個庫??梢酝ㄟ^在終端中執(zhí)行以下命令進行安裝:phpoffice/phpspreadsheet
這個庫。可以通過在終端中執(zhí)行以下命令進行安裝:
composer require phpoffice/phpspreadsheet
- 創(chuàng)建控制器和路由
首先,我們需要創(chuàng)建一個控制器來處理導入的邏輯。在app/Controller
目錄下創(chuàng)建一個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']);
- 創(chuàng)建視圖
在resources/views
目錄中創(chuàng)建一個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 文件,并將其轉換為數(shù)組格式。然后,我們可以根據(jù)實際需求對數(shù)據(jù)進行處理。
導出
導出Excel文件主要涉及兩個步驟:創(chuàng)建Excel文件和下載Excel文件。
- 創(chuàng)建Excel文件
在控制器中,我們可以使用PhpSpreadsheet
庫創(chuàng)建一個 Excel 文件。
use PhpOfficePhpSpreadsheetSpreadsheet; use PhpOfficePhpSpreadsheetWriterXlsx; public function export() { $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); // 設置表頭 $worksheet->setCellValue('A1', '姓名') ->setCellValue('B1', '年齡') ->setCellValue('C1', '性別'); // 設置數(shù)據(jù)行 $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'); }
- 下載Excel文件
導出完成后,我們可以通過設置響應頭信息實現(xiàn)文件下載的功能。
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
- 創(chuàng)建控制器和路由首先,我們需要創(chuàng)建一個控制器來處理導入的邏輯。在
app/Controller
目錄下創(chuàng)建一個ExcelController.php
文件,添加以下代碼:
然后,在 config/routes.php
文件中添加以下路由:
rrreee
- 創(chuàng)建視圖在
resources/views
目錄中創(chuàng)建一個import.blade.php
文件,添加以下表單代碼:
- 處理導入邏輯??在控制器的
import
方法中,我們使用PhpSpreadsheet
庫加載上傳的 Excel 文件,并將其轉換為數(shù)組格式。然后,我們可以根據(jù)實際需求對數(shù)據(jù)進行處理。
- 創(chuàng)建Excel文件??在控制器中,我們可以使用
PhpSpreadsheet
庫創(chuàng)建一個 Excel 文件。
- 下載Excel文件??導出完成后,我們可以通過設置響應頭信息實現(xiàn)文件下載的功能。
storage
目錄下,并通過瀏覽器訪問 /excel/download
即可實現(xiàn)文件下載。????總結??本文詳細介紹了如何使用Hyperf框架實現(xiàn)Excel文件的導入和導出功能,并給出了具體的代碼示例。通過簡單的配置和編碼,我們可以在Hyperf框架中快速實現(xiàn)Excel導入導出,提高開發(fā)效率。??以上是如何使用Hyperf框架進行Excel導入導出的詳細內容。更多信息請關注PHP中文網(wǎng)其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

如果在打開一份需要打印的文件時,在打印預覽里我們會發(fā)現(xiàn)表格框線不知為什么消失不見了,遇到這樣的情況,我們就要及時進行處理,如果你的打印文件里也出現(xiàn)了此類的問題,那么就和小編一起來學習下邊的課程吧:excel打印表格框線消失怎么辦?1、打開一份需要打印的文件,如下圖所示?! ?、選中所有需要的內容區(qū)域,如下圖所示?! ?、單擊鼠標右鍵,選擇“設置單元格格式”選項,如下圖所示?! ?、點擊窗口上方的“邊框”選項,如下圖所示。 5、在左側的線條樣式中選擇細實線圖樣,如下圖所示。 6、選擇“外邊框”

在日常辦公中經(jīng)常使用Excel來處理數(shù)據(jù),時常遇到需要使用“篩選”功能。當我們在Excel中選擇執(zhí)行“篩選”時,對于同一列而言,最多只能篩選兩個條件,那么,你知道excel同時篩選3個以上關鍵詞該怎么操作嗎?接下來,就讓小編為大家演示一遍。第一種方法是將條件逐步添加到篩選器中。如果要同時篩選出三個符合條件的明細,首先需要逐步篩選出其中一個。開始時,可以先根據(jù)條件篩選出姓“王”的員工。然后單擊【確定】,接著在篩選結果中勾選【將當前所選內容添加到篩選器】。操作步驟如下所示。 同樣,再次分別執(zhí)行篩選

在我們日常的工作學習中,從他人處拷貝了Excel文件,打開進行內容添加或重新編輯后,再保存的有時候,有時會提示出現(xiàn)兼容性檢查的對話框,非常的麻煩,不知道Excel軟件,可不可改為正常模式呢?那么下面就由小編為大家?guī)斫鉀Q這個問題的詳細步驟,讓我們一起來學習吧。最后一定記得收藏保存。1、打開一個工作表,在工作表的名稱中顯示多出來一個兼容模式,如圖所示。2、在這個工作表中,進行了內容的修改后保存,結果總是彈出兼容檢查器的對話框,很麻煩看見這個頁面,如圖所示?! ?、點擊Office按鈕,點另存為,然

在軟件的學習中,我們習慣用excel,不僅僅是因為需要方便,更因為它可以滿足多種實際工作中需要的格式,而且excel運用起來非常的靈活,有種模式是方便閱讀的,今天帶給大家的就是:excel閱讀模式在哪里設置。1、打開電腦,然后再打開Excel應用,找到目標數(shù)據(jù)。2、要想在Excel中,設置閱讀模式,有兩種方式。第一種:Excel中,有大量的便捷處理方式,分布在Excel中布局中。在Excel的右下角,有設置閱讀模式的快捷方式,找到十字標志的圖案,點擊即可進入閱讀模式,在十字標志的右邊有一個小的三

在處理數(shù)據(jù)時,有時我們會遇到數(shù)據(jù)包含了倍數(shù)、溫度等等各種符號的時候,你知道excel上標應該如何設置嗎?我們在使用excel處理數(shù)據(jù)時,如果不會設置上標,這可是會讓我們的很多數(shù)據(jù)在錄入時就會比較麻煩。今天小編就為大家?guī)砹薳xcel上標的具體設置方法。1.首先,讓我們打開桌面上的MicrosoftOfficeExcel文檔,選擇需要修改為上標的文字,具體如圖所示。2.然后,點擊右鍵,在點擊后出現(xiàn)的菜單中,選擇“設置單元格格式”選項,具體如圖所示。3.接下來,在系統(tǒng)自動彈出來的“單元格格式”對話框

大部分用戶使用Excel都是用來處理表格數(shù)據(jù)的,其實Excel還有vba程序編寫,這個除了專人士應該沒有多少用戶用過此功能,在vba編寫時常常會用到iif函數(shù),它其實跟if函數(shù)的功能差不多,下面小編給大家介紹下iif函數(shù)的用法。Excel中SQL語句和VBA代碼中都有iif函數(shù)。iif函數(shù)和excel工作表中的IF函數(shù)用法相似,執(zhí)行真假值判斷,根據(jù)邏輯計算的真假值,返回不同結果。IF函數(shù)用法是(條件,是,否)。VBA中的IF語句和IIF函數(shù),前者IF語句是控制語句可以根據(jù)條件執(zhí)行不同的語句,后者

html讀取excel數(shù)據(jù)的方法:1、使用JavaScript庫讀取Excel數(shù)據(jù);2、使用服務器端編程語言讀取Excel數(shù)據(jù)。

1、打開PPT,翻頁至需要插入excel圖標的頁面。點擊插入選項卡。2、點擊【對象】。3、跳出以下對話框。4、點擊【由文件創(chuàng)建】,點擊【瀏覽】。5、選擇需要插入的excel表格。6、點擊確定后跳出如下頁面。7、勾選【顯示為圖標】。8、點擊確定即可。
