Heim > Web-Frontend > View.js > Hauptteil

So verwenden Sie Vue und Excel zum Batch-Bearbeiten und Exportieren von Daten

王林
Freigeben: 2023-07-21 14:34:51
Original
910 Leute haben es durchsucht

So verwenden Sie Vue und Excel, um die Stapelbearbeitung und den Export von Daten zu implementieren

Bei der täglichen Arbeit müssen wir häufig große Datenmengen stapelweise bearbeiten und exportieren. Diese Funktion lässt sich sehr komfortabel durch die Kombination von Vue mit Excel realisieren. Dieser Artikel enthält eine detaillierte Einführung in die Verwendung von Vue und Excel zur Implementierung der Stapelbearbeitung und des Exports von Daten und fügt entsprechende Codebeispiele bei.

1. Projektvorbereitung

Zuerst müssen wir ein Vue-Projekt erstellen und zugehörige Abhängigkeitsbibliotheken einführen. Im vue-cli-Projekt können Sie die erforderlichen abhängigen Bibliotheken installieren, indem Sie den folgenden Befehl im Terminal eingeben:

npm install vue-xlsx --save
npm install xlsx-style --save
Nach dem Login kopieren

2. Stapelbearbeitung von Daten

In der Vue-Komponente können wir Tabellen verwenden, um Daten anzuzeigen und entsprechende Stapel auszuführen Bearbeitungsvorgänge. Das Folgende ist ein einfacher Beispielcode:

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>姓名</th>
          <th>年龄</th>
          <th>性别</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in dataList" :key="index">
          <td>{{ item.name }}</td>
          <td>{{ item.age }}</td>
          <td>{{ item.gender }}</td>
        </tr>
      </tbody>
    </table>

    <button @click="exportData">导出数据</button>
    <button @click="importData">导入数据</button>
  </div>
</template>

<script>
import { utils } from "xlsx";
import { read, write } from "vue-xlsx";

export default {
  data() {
    return {
      dataList: [
        { name: "张三", age: 20, gender: "男" },
        { name: "李四", age: 25, gender: "女" },
        { name: "王五", age: 30, gender: "男" },
      ]
    }
  },

  methods: {
    exportData() {
      const worksheet = utils.json_to_sheet(this.dataList);
      const workbook = utils.book_new();
      utils.book_append_sheet(workbook, worksheet, "Sheet1");
      const excelData = write(workbook, { type: "binary" });
      this.downloadExcel(excelData, "data.xlsx");
    },

    importData() {
      const input = document.createElement("input");
      input.type = "file";
      input.accept = ".xlsx";
      input.addEventListener("change", (e) => {
        const fileReader = new FileReader();
        fileReader.onload = (e) => {
          const data = new Uint8Array(e.target.result);
          const workbook = utils.read(data, { type: "array" });
          const worksheet = workbook.Sheets[workbook.SheetNames[0]];
          this.dataList = utils.sheet_to_json(worksheet, { header: 1 });
        }
        fileReader.readAsArrayBuffer(e.target.files[0]);
      });
      input.click();
    },

    downloadExcel(data, filename) {
      const blob = new Blob([data], { type: "application/octet-stream" });
      const url = URL.createObjectURL(blob);
      const link = document.createElement("a");
      link.href = url;
      link.download = filename;
      link.click();
      URL.revokeObjectURL(link.href);
    }
  }
}
</script>
Nach dem Login kopieren

Im obigen Code werden Daten mithilfe der Methoden read und write der vue-xlsx-Bibliothek gelesen und geschrieben Daten in Excel-Dateien importieren und Daten daraus importieren. Unter anderem wird die Methode exportData zum Exportieren von Daten verwendet. Verwenden Sie zunächst utils.json_to_sheet, um die Daten in ein Arbeitsblatt zu konvertieren, und verwenden Sie dann utils.book_append_sheet, um die Daten in ein Arbeitsblatt umzuwandeln, fügen Sie sie der Arbeitsmappe hinzu und konvertieren Sie die Arbeitsmappe schließlich über <code>write in Binärdaten und rufen Sie zum Herunterladen die Methode downloadExcel auf. Die Methode importData wird zum Importieren von Daten verwendet. Erstellen Sie zunächst ein Eingabeelement, legen Sie seinen Typ und die akzeptierten Dateitypen fest und konvertieren Sie dann die Excel-Datei über FileReader in ein Array, indem Sie das Änderungsereignis abhören Eingabeelement und verwenden Sie utils.read, um das Array in eine Arbeitsmappe umzuwandeln, und konvertieren Sie dann das erste Blatt der Arbeitsmappe über utils.sheet_to_json in JSON-Daten und aktualisieren Sie es in das dataList der Komponente. readwrite方法进行数据的读取和写入,实现了将数据导出为Excel文件和从Excel文件导入数据。其中,exportData方法用于导出数据,首先使用utils.json_to_sheet将数据转换为工作表,然后通过utils.book_append_sheet将工作表添加到工作簿中,最后通过write将工作簿转换为二进制数据,并调用downloadExcel方法进行下载。importData方法用于导入数据,首先创建一个input元素,设置其类型和接受的文件类型,然后通过监听input元素的change事件,通过FileReader将Excel文件转换为数组,并使用utils.read将数组转换为工作簿,然后通过utils.sheet_to_json将工作簿的第一个工作表转换为JSON数据,并更新到组件的dataList中。

三、数据的导出

除了批量编辑数据,我们还可以将数据导出为Excel文件。上述代码中已经实现了将数据导出为Excel文件的功能。通过点击"导出数据"按钮,会调用exportData

3. Export von Daten

Zusätzlich zur Stapelbearbeitung von Daten können wir die Daten auch in Excel-Dateien exportieren. Die Funktion zum Exportieren von Daten in Excel-Dateien wurde im obigen Code implementiert. Durch Klicken auf die Schaltfläche „Daten exportieren“ wird die Methode exportData aufgerufen, um die dataList-Daten in eine Excel-Datei zu exportieren und automatisch lokal herunterzuladen.

4. Zusammenfassung🎜🎜Durch die Kombination von Vue und Excel können wir die Stapelbearbeitung und den Export von Daten problemlos implementieren. Indem wir Excel-Dateien lesen und in Daten umwandeln, können wir schnell große Datenmengen importieren und eine Stapelbearbeitung über Tabellen durchführen. Gleichzeitig können wir die bearbeiteten Daten auch in Excel-Dateien exportieren, um spätere Vorgänge und Analysen zu erleichtern. Das Obige ist eine detaillierte Einführung in die Verwendung von Vue und Excel zur Implementierung der Stapelbearbeitung und des Exports von Daten. Ich hoffe, es kann allen helfen. 🎜

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage