Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie PHP und UniApp zum Importieren und Exportieren von Daten in Excel

So verwenden Sie PHP und UniApp zum Importieren und Exportieren von Daten in Excel

WBOY
WBOYOriginal
2023-07-04 17:53:142637Durchsuche

So verwenden Sie PHP und UniApp, um den Excel-Import und -Export von Daten zu implementieren

Der Import und Export von Daten ist eine Anforderung, der wir in der Webentwicklung häufig begegnen. Als eines der am häufigsten verwendeten Datenformate kann Excel Daten übersichtlich in Tabellenform darstellen und verfügt über eine hohe Kompatibilität, was es für viele Menschen zur ersten Wahl macht. In diesem Artikel wird erläutert, wie Sie mit PHP und UniApp Daten in Excel importieren bzw. exportieren.

Schauen wir uns zunächst an, wie man Daten über PHP in Excel importiert.

  1. PHPExcel-Bibliothek installieren
    PHPExcel ist eine leistungsstarke und benutzerfreundliche PHP-Bibliothek zur Verarbeitung von Excel-Dateien. Zuerst müssen wir die PHPExcel-Bibliothek im Projekt installieren.

Kann über Composer installiert werden. Fügen Sie der Datei „composer.json“ den folgenden Code hinzu:

{
    "require": {
        "phpoffice/phpexcel": "^1.8"
    }
}

Dann führen Sie composer install in der Befehlszeile aus, um die Installation abzuschließen.

  1. Erstellen Sie eine Importschnittstelle.
    Erstellen Sie im PHP-Projekt eine Excel-Importschnittstelle, um die vom Frontend übergebene Excel-Datei zu empfangen, den Dateiinhalt zu analysieren, die Daten in der Datenbank zu speichern oder andere Vorgänge auszuführen.
<?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' => '上传失败'
    ]);
}
?>
  1. Rufen Sie die Schnittstelle in UniApp auf.
    Im UniApp-Projekt rufen Sie mit uni.request die obige Schnittstelle auf und laden die Excel-Datei als FormData auf den Server hoch.
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'
                            });
                        }
                    });
                }
            });
        }
    }
}

Sehen wir uns an, wie man Daten über UniApp nach Excel exportiert.

  1. Erstellen Sie eine Exportschnittstelle.
    Erstellen Sie im PHP-Projekt eine Excel-Exportschnittstelle, rufen Sie nach Bedarf Daten aus der Datenbank ab und exportieren Sie die Daten dann als Excel-Datei, damit Benutzer sie herunterladen können.
<?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');
?>
  1. Rufen Sie die Schnittstelle in UniApp auf
    Im UniApp-Projekt verwenden Sie uni.downloadFile, um die exportierte Excel-Datei herunterzuladen.
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'
                    });
                }
            });
        }
    }
}

Durch die oben genannten Schritte können wir die Excel-Import- und Exportfunktion von Daten problemlos implementieren. Ob auf dem PHP-Backend oder dem UniApp-Frontend, diese Aufgabe kann durch entsprechende Bibliotheken und Schnittstellen erledigt werden. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP und UniApp zum Importieren und Exportieren von Daten in Excel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn