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
Herausforderung: Wandelt die Zeichen &, <,...
Inhaltsverzeichnis 1. Umweltvorbereitung 2. Daten...
1. Docker-Cross-Host-Kommunikation Zu den hostübe...
<br />Es ist nicht länger als zwei Jahre her...
Hinweise zur Linux-Installation von MySQL 1. Stel...
1: schreibgeschützt dient zum Sperren dieses Steue...
Der Grund ist dieser Ich wollte eine Mocker-Platt...
Die ersten Computer konnten nur ASCII-Zeichen ver...
In diesem Artikel wird der spezifische JavaScript...
Inhaltsverzeichnis 1. Kurzübersicht 2. Detaillier...
Im vorherigen Artikel haben wir mit Timeouts unte...
Das Zusammenführen von Zeilen- und Feldergebnisse...
Inhaltsverzeichnis Vorwort Konfigurieren Sie die ...
MySQL-Ansichten Einfach ausgedrückt ist eine MySQ...
Wie unten dargestellt: XML/HTML-CodeInhalt in die...