Es gibt eine solche Anforderung: eine Importschaltfläche. Klicken Sie auf die Schaltfläche, um eine Excel-Tabelle zu importieren. Wenn einige Daten in der Excel-Tabelle nicht importiert werden können, wird die Excel-Tabelle der fehlgeschlagenen Daten automatisch heruntergeladen. Wenn alle Daten erfolgreich importiert wurden, wird die Meldung „Import erfolgreich“ angezeigt. Fügen Sie zunächst die Upload-Dateikomponente von ElementUI an
Auf der offiziellen Website werden die Eigenschaften und die Verwendung der 1. Einführung des ElementUI-Upload-Komponenten-Uploads<el-hochladen Klasse="Upload-Demo" Aktion="https://jsonplaceholder.typicode.com/posts/" mehrere :auto-upload="false" :file-list="Dateiliste" :on-change="Dateiänderung"> <el-button type="primary">Importieren</el-button> </el-upload> Seiteneffekte Attributeinführung
2. Klicken Sie auf die Schaltfläche „Importieren“ und wählen Sie die Datei aus (klicken Sie auf „Öffnen“, um die Änderung auszulösen). An diesem Punkt können Sie die Methode Dateiänderung(Datei,Dateiliste){ console.log(Datei,'Datei') console.log(Dateiliste,'Dateiliste') } 3. Jetzt haben wir die ausgewählte Datei und können die Upload-Methode anpassen, um sie an den Backend-Server zu sendenDateiänderung(Datei,Dateiliste){ console.log(Datei,'Datei') console.log(Dateiliste,'Dateiliste') let url = 'xxx' //Backend-Server-API let-Header = { 'Content-Type':'multipart/form-data' //Beim benutzerdefinierten Hochladen ist dieser Anforderungsheaderparameter erforderlich} let formData = '' for(let i = 0;i < fileList.length;i++){ // Datei-Array durchlaufen, in der Dateiliste können mehrere Dateien enthalten sein formData = new FormData() formData.append('name',fileList[i].name) formData.append('Typ','.xlsx') formData.append('Datei',fileList[i].raw) } dies.$axios({ Überschriften: Überschriften, Methode: 'post', Daten: Formulardaten, URL: URL, responseType:'blob' //Dieser Parameter ist erforderlich, da sonst in der heruntergeladenen Excel-Tabelle eine Meldung angezeigt wird, dass die Datei beschädigt ist und nicht geöffnet werden kann}).then(res=>{ wenn(res && res.data.size == 0){ //Wenn der Hintergrund keinen Stream zurückgibt, bedeutet dies, dass alle Daten erfolgreich importiert wurden und die Meldung „Import erfolgreich“ angezeigt wird. Die Rückgabe wird nicht automatisch heruntergeladen. } //Wenn der Hintergrund einen Stream zurückgibt, bedeutet dies, dass der Import einiger Daten fehlgeschlagen ist. Dann wird die Excel-Tabelle mit den fehlgeschlagenen Daten automatisch heruntergeladen. let name = 'Import fehlgeschlagener Daten.xlsx' //Passen Sie den Namen der heruntergeladenen Excel-Tabelle an. let blob = new Blob([res.data]) let url = Fenster.URL.createObjectURL(blob) lass einen Link = Dokument.createElement('a'). aLink.style.display = "keine" aLink.href = URL //Das Download-Attribut definiert die Adresse des Download-Links. Das href-Attribut muss im <a>-Tag angegeben werden. aLink.setAttribute('herunterladen',Name) Dokument.Body.AnhängenUntergeordnetesElement(einLink) einLink.klick() Dokument.Body.RemoveChild(einLink) Fenster.URL.revokeObjectURL(URL) //Nach Abschluss des Downloads können andere Vorgänge ausgeführt werden, z. B. das Aktualisieren der Liste, benutzerfreundliche Eingabeaufforderungen usw.}) } Methodenanalyse Ein Zusammenfassung: Oben wird der benutzerdefinierte Import von Excel-Tabellen implementiert und der von der Schnittstelle zurückgegebene Stream wird automatisch heruntergeladen. Der Code kann direkt verwendet werden, aber beachten Sie, dass die zurückgegebenen Daten möglicherweise nicht mit meiner Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Die 6 effektivsten Möglichkeiten zum Schreiben von HTML und CSS
Inhaltsverzeichnis Einführung Verwenden des strik...
1. Einleitung Ich möchte Selenium verwenden, um D...
Vorwort Hinweis: Die Testdatenbankversion ist MyS...
Inhaltsverzeichnis 1. Installieren und erstellen ...
Finden Sie das Problem Ich habe vor Kurzem Django...
Netzwerk-Ports freigeben Tatsächlich gibt es in D...
Standalone-HBase, lassen Sie uns zuerst darüber s...
Der folgende Beispielcode stellt die Prinzipien d...
Inhaltsverzeichnis 1. So erhalten Sie Elemente Ho...
Die Attribute des <TR>-Tags werden verwende...
Was ist der Unterschied zwischen der grünen Versi...
11. Verwenden Sie JavaScript, um Seiteneffekte zu...
Inhaltsverzeichnis 1. Einführung in jQuery 2. jQu...
.NET SDK-Download-Link https://dotnet.microsoft.c...
Gute Datenbankspezifikationen tragen dazu bei, di...