Präsentationsschicht Hier verwende ich die Upload-Komponente von antd Zitieren Sie einen Teil des Antd-Codes importiere { Button, Tabelle, Hochladen } von „antd“; <Hochladen {...props} fileList={state.fileList}> <Button type="primary" >Excel-Import</Button> </Hochladen> <Button type="primary" onClick={handleExport}>Excel-Export</Button> GeschäftsschichtLassen Sie uns zunächst die Arbeit analysieren:
Hier sind die technischen Details Kern-Plugin xlsx Installieren Sie xlsx: Stellen Sie hauptsächlich die verwendete Kern-API vor:
// Arbeitsmappe verstehen: { Blattnamen: ['Blatt1', 'Blatt2'], Blätter: // Arbeitsblatt 'Blatt1': { // Zelle 'A1': { ... }, // Zelle 'A2': { ... }, ... }, // Arbeitsblatt 'Blatt2': { // Zelle 'A1': { ... }, // Zelle 'A2': { ... }, ... } } } Excel-Import Kerncode: const f = Datei; Konstante Leser = neuer FileReader(); reader.onload = Funktion (e) { versuchen{ const Daten = e.Ziel.Ergebnis; const workbook = XLSX.read(datas, {type: "binary",}); //Daten analysieren const first_worksheet = workbook.Sheets[workbook.SheetNames[0]]; //Dies ist das erste Blatt in der Arbeitsmappe. const jsonArr = XLSX.utils.sheet_to_json(first_worksheet, {header: 1,defval:''}); //Konvertiere das Arbeitsmappenobjekt in ein JSON-Objekt-Array handleImpotedJson(jsonArr) //Array-Verarbeitung message.success('Excel-Upload-Analyse erfolgreich!') }fangen(e){ message.error('Falscher Dateityp! Oder Fehler bei der Dateianalyse') } }; reader.readAsBinaryString(f); verstehen:
Excel-Export Kerncode: const downloadExcel = () => { const json = handleExportedJson(Daten) Konstante Blatt = XLSX.utils.json_to_sheet(json); openDownloadDialog(sheet2blob(sheet,"Sheet1"), "Datei.xls herunterladen") } const handleExportedJson = (array) =>{...} // JSON-Daten verarbeiten const openDownloadDialog = (url, saveName) =>{...} // Download öffnen const sheet2blob = (sheet, sheetName) =>{...} // In Blob-Typ konvertieren verstehen:
Excel-Export-Plugin (js-export-excel) Warum habe ich den selbst implementierten Code nicht schon früher gepostet? Weil ich ein nützliches Plug-In gefunden habe. Der Code ist sehr einfach. Kerncode: // Datei direkt exportieren let dataTable = []; //Dateninhalt in Excel-Datei let option = {}; //Option repräsentiert Excel-Datei dataTable = data; //Datenquelle option.fileName = "Datei herunterladen"; //Excel-Dateiname console.log("data===",dataTable) option.datas = [ { sheetData: dataTable, //Datenquelle in Excel-DateisheetName: ‚Sheet1‘, //Name der Blattseite in Excel-DateisheetFilter: [‚id‘, ‚name‘, ‚belong‘, ‚step‘, ‚tag‘], //In Excel-Datei anzuzeigende SpaltendatensheetHeader: [‚Projekt-ID‘, ‚Projektname‘, ‚Unternehmen‘, ‚Projektphase‘, ‚Projekttag‘], //Kopfzeilenname jeder Spalte in Excel-Datei} ] let toExcel = new ExportJsonExcel(option); //Excel-Datei generieren toExcel.saveExcel(); //Excel-Datei herunterladen Das Obige ist die grundlegende Verwendung dieses Plug-Ins. Es unterstützt auch den Export von Blobs und die Komprimierung. Weitere Einzelheiten finden Sie auf der offiziellen Website, wo die Kernoptionen erläutert werden:
/*Mehrere Blätter*/ /*Jedes Blatt ist ein Objekt */ [{ sheetData:[], // datasheetName:'', // (optional) Blattname, Standard ist sheet1 sheetFilter:[], // (optional) Spaltenfilter (funktioniert nur, wenn die Daten Objekte sind) sheetHeader:[] // Erste Zeile, Titel columnWidths: [] // (optional) Spaltenbreite, muss der Spaltenreihenfolge entsprechen}] Browser-Unterstützung: IE 10+. Ich habe getestet, ob die Demo in Chrom, Safari und IE funktioniert. Ergebnisse erzielen Wenn Sie es immer noch nicht verstehen, können Sie sich den GitHub-Demo-Quellcode ansehen AbschlussDies ist das Ende dieses Artikels über den Import und Export von Excel-Dateien mit React. Weitere relevante Inhalte zum Import und Export von Excel mit React finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So ändern Sie das ROOT-Passwort in MySql8.0 und höheren Versionen richtig
>>: Grafisches Tutorial zur Installation und Konfiguration von Mysql WorkBench
In diesem Artikel wird anhand eines Beispiels ein...
Ein Freund in der Gruppe hat zuvor eine Frage ges...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Erstellen von Zahlungsmethoden...
1. Verwenden Sie das Image mysql/mysql-server:lat...
1. Einleitung Zuvor haben wir die schnelle Entwic...
1. Geben Sie die Konfigurationsdatei der Yum-Quel...
Es gibt einige Probleme, die nicht auf Vue beschr...
Inhaltsverzeichnis 1. Technischer Überblick 2. Te...
HTTP-Statuscodes Der Statuscode besteht aus 3 Zif...
Ich lerne derzeit etwas über Front-End-Leistungsop...
Die Javascript-Funktion zum Konvertieren von <t...
1. SSH-Remoteverwaltung SSH ist ein sicheres Kana...
<br />Informationsduplikation, Informationsü...
Tipps zur Verwendung von Docker 1. Bereinigen Sie...