Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie Vue und Excel zum dynamischen Filtern und Sortieren von Daten

So verwenden Sie Vue und Excel zum dynamischen Filtern und Sortieren von Daten

王林
王林Original
2023-07-21 22:37:111558Durchsuche

So verwenden Sie Vue und Excel zum dynamischen Filtern und Sortieren von Daten

1 Einführung
Excel ist ein leistungsstarkes Datenverarbeitungstool und Vue ist ein beliebtes JavaScript-Framework zum Erstellen von Benutzeroberflächen. In der tatsächlichen Entwicklung müssen wir möglicherweise Vue verwenden, um Daten in Excel-Tabellen dynamisch zu filtern und zu sortieren. In diesem Artikel erfahren Sie, wie Sie mit Vue und Excel Daten dynamisch filtern und sortieren.

2. Technische Vorbereitung
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgende Software installiert haben:

  1. Node.js und npm: werden zur Installation von vue-cli und anderen Abhängigkeiten verwendet.
  2. Vue CLI: Wird zum Erstellen und Verwalten von Vue-Projekten verwendet.
  3. pandas und openpyxl: zur Verarbeitung von Excel-Dateien und -Daten.

3. Erstellen Sie ein Vue-Projekt
Verwenden Sie zunächst die Vue-CLI, um ein neues Vue-Projekt zu erstellen. Öffnen Sie die Befehlszeile und führen Sie den folgenden Befehl aus:

vue create dynamic-excel
cd dynamic-excel

Wählen Sie dann die Standardkonfiguration aus, um das Projekt zu erstellen.

4. Installieren Sie die erforderlichen Abhängigkeiten
Als nächstes installieren Sie die erforderlichen Abhängigkeiten. Führen Sie den folgenden Befehl in der Befehlszeile aus:

npm install xlsx vuetify axios

Der obige Befehl installiert xlsx, das zum Verarbeiten von Excel-Dateien verwendet wird. Es wird zum Erstellen einer schönen Benutzeroberfläche verwendet, mit der Netzwerkanforderungen gestellt werden.

5. Komponenten und Stile erstellen
Erstellen Sie einen Ordner mit dem Namen „components“ im src-Verzeichnis, um Komponenten zu speichern. Erstellen Sie im Komponentenordner eine Datei mit dem Namen ExcelTable.vue, um Excel-Tabellen anzuzeigen. Erstellen Sie zum Schreiben von Stilen eine Datei mit dem Namen ExcelTable.scss im Stilordner.

ExcelTable.vue-Code lautet wie folgt:

<template>
  <div class="excel-table">
    <input v-model="searchKey" placeholder="输入关键词进行筛选" />
    <table>
      <thead>
        <tr>
          <th v-for="column in columns">{{ column }}</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="row in filteredData">
          <td v-for="column in row">{{ column }}</td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
export default {
  props: {
    data: {
      type: Array,
      required: true
    },
    columns: {
      type: Array,
      required: true
    }
  },
  data() {
    return {
      searchKey: ""
    };
  },
  computed: {
    filteredData() {
      if (this.searchKey) {
        return this.data.filter(row => {
          return row.some(column => {
            return column.includes(this.searchKey);
          });
        });
      } else {
        return this.data;
      }
    }
  }
};
</script>

<style scoped lang="scss">
.excel-table {
  input {
    margin-bottom: 10px;
  }
  table {
    width: 100%;
    border-collapse: collapse;
    th,
    td {
      border: 1px solid #ccc;
      padding: 5px;
    }
  }
}
</style>

ExcelTable.scss-Code lautet wie folgt:

@import "~vuetify/src/styles/styles.sass";

6. ExcelTable-Komponente verwenden
ExcelTable-Komponente in App.vue-Datei verwenden. Der Code lautet wie folgt:

<template>
  <div class="app">
    <excel-table :data="data" :columns="columns" />
  </div>
</template>

<script>
import ExcelTable from "./components/ExcelTable.vue";
export default {
  components: {
    ExcelTable
  },
  data() {
    return {
      data: [],
      columns: []
    };
  },
  mounted() {
    this.loadData();
  },
  methods: {
    loadData() {
      // 使用axios从后端获取数据
      // 此处省略数据请求的具体代码
      // 然后将数据赋值给this.data和this.columns
    }
  }
};
</script>

7. Excel-Dateien und -Daten verarbeiten
Als Nächstes stellen wir vor, wie Excel-Dateien und -Daten verarbeitet werden. Erstellen Sie im src-Verzeichnis einen Ordner mit dem Namen utils, um Toolfunktionen zu speichern. Erstellen Sie im Ordner „utils“ eine Datei mit dem Namen „excel.js“ für die Verarbeitung von Excel-Dateien und -Daten. Der

Excel.js-Code lautet wie folgt:

import XLSX from "xlsx";

export function readExcel(file) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = e => {
      const data = new Uint8Array(e.target.result);
      const workbook = XLSX.read(data, { type: "array" });
      const sheetName = workbook.SheetNames[0];
      const worksheet = workbook.Sheets[sheetName];
      const json = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
      resolve(json);
    };
    reader.onerror = reject;
    reader.readAsArrayBuffer(file);
  });
}

8. Backend-Daten verarbeiten
Je nach tatsächlicher Situation können Sie Axios verwenden, um Excel-Dateien oder Daten vom Backend abzurufen und die Daten an die ExcelTable-Komponente zu übergeben.

9. Kompilieren und ausführen
Führen Sie die folgenden Befehle in der Befehlszeile aus, um das Projekt zu kompilieren und auszuführen:

npm run serve

Öffnen Sie den Browser und besuchen Sie http://localhost:8080, um die dynamisch gefilterte und sortierte Excel-Tabelle anzuzeigen.

Zusammenfassung
In diesem Artikel wird erläutert, wie Sie mit Vue und Excel Daten dynamisch filtern und sortieren. Durch die Erstellung eines Vue-Projekts, die Installation notwendiger Abhängigkeiten, die Erstellung von Komponenten und Stilen sowie die Verarbeitung von Excel-Dateien und -Daten wurde schließlich eine dynamisch gefilterte und sortierte Excel-Tabelle implementiert. Ich hoffe, dieser Artikel hilft Ihnen zu verstehen, wie Sie Vue und Excel zum dynamischen Filtern und Sortieren von Daten verwenden.

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

Stellungnahme:
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