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
Beschreibung der Portverfügbarkeitserkennung, wen...
1. Der Unterschied zwischen HTTP und HTTPS HTTP: ...
Lösung für die Ausnahmen 1449 und 1045 bei der Ve...
Einfaches Beispiel für die Verschönerung von HTML...
1. Stellen Sie sicher, dass das System über die e...
In diesem Artikel wird hauptsächlich erläutert, w...
<br />Wie kann ich die Bildlaufleiste auf de...
Im vorherigen Artikel haben wir vorgestellt, wie ...
Systemumgebung: Ubuntu 16.04LTS In diesem Artikel...
<input> wird zum Sammeln von Benutzerinforma...
Die Verwendung der ElementUI-Paging-Komponente Pa...
Inhaltsverzeichnis 1. Testdaten 2. Die Unannehmli...
Wenn Sie es nicht durch direktes Klicken auf „Dow...
Dieser Artikel stellt ein möglichst einfaches Fra...
Zeitfelder werden häufig bei der Datenbanknutzung...