如何利用PHP和UniApp實作資料的Excel匯入與匯出
匯入和匯出資料是我們在web開發中經常遇到的需求。而Excel作為常用的數據格式之一,能夠以表格形式清晰地展示數據,並且具有較高的兼容性,成為了許多人的選擇。本篇文章將介紹如何利用PHP和UniApp分別實現資料的Excel導入與匯出。
首先,我們先來看看如何透過PHP實現資料的Excel導入。
可以透過Composer進行安裝,將以下程式碼加入composer.json檔案:
{ "require": { "phpoffice/phpexcel": "^1.8" } }
然後在命令列中執行composer install
#來完成安裝。
<?php require 'vendor/autoload.php'; use PhpOfficePhpSpreadsheetIOFactory; if ($_FILES['file']['error'] == 0) { $file = $_FILES['file']['tmp_name']; $reader = IOFactory::createReader('Xlsx'); $spreadsheet = $reader->load($file); $worksheet = $spreadsheet->getActiveSheet(); // 获取数据并处理 $data = []; foreach ($worksheet->getRowIterator() as $row) { $rowData = []; foreach ($row->getCellIterator() as $cell) { $rowData[] = $cell->getValue(); } $data[] = $rowData; } // 处理数据 // ... // 返回处理结果 echo json_encode([ 'status' => 1, 'message' => '上传成功' ]); } else { echo json_encode([ 'status' => 0, 'message' => '上传失败' ]); } ?>
export default { methods: { importExcel() { uni.chooseMessageFile({ count: 1, success: (res) => { const tempFilePath = res.tempFiles[0].path; uni.uploadFile({ url: 'http://localhost/import.php', filePath: tempFilePath, name: 'file', success: (res) => { const data = JSON.parse(res.data); if (data.status === 1) { uni.showToast({ title: '导入成功', icon: 'success' }); } else { uni.showToast({ title: '导入失败', icon: 'none' }); } }, fail: () => { uni.showToast({ title: '上传失败', icon: 'none' }); } }); } }); } } }
下面我們來看如何透過UniApp實現資料的Excel匯出。
<?php require 'vendor/autoload.php'; use PhpOfficePhpSpreadsheetSpreadsheet; use PhpOfficePhpSpreadsheetWriterXlsx; // 获取数据 $data = [ ['name', 'age', 'gender'], ['Tom', 20, 'Male'], ['Lisa', 25, 'Female'], // ... ]; // 创建Excel文件 $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); $worksheet->fromArray($data); // 下载文件 $writer = new Xlsx($spreadsheet); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="export.xlsx"'); $writer->save('php://output'); ?>
export default { methods: { exportExcel() { uni.downloadFile({ url: 'http://localhost/export.php', success: (res) => { uni.saveFile({ tempFilePath: res.tempFilePath, success: (res) => { uni.showToast({ title: '导出成功', icon: 'success' }); } }); }, fail: () => { uni.showToast({ title: '导出失败', icon: 'none' }); } }); } } }
透過上述步驟,我們可以輕鬆實現資料的Excel匯入和匯出功能。無論是在PHP後端或UniApp前端,都能夠透過相關的函式庫和介面來完成這項任務。希望本文能對你有幫助!
以上是如何利用PHP與UniApp實作資料的Excel導入與匯出的詳細內容。更多資訊請關注PHP中文網其他相關文章!