Vue と Excel を使用してデータを動的にフィルタリングおよび並べ替える方法
Vue と Excel を使用してデータの動的なフィルタリングと並べ替えを実装する方法
1. はじめに
Excel テーブルは強力なデータ処理ツールであり、Vue はユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。 。実際の開発では、Vue を使用して Excel テーブル内のデータを動的にフィルタリングおよび並べ替える必要がある場合があります。この記事では、Vue と Excel を使用してデータを動的にフィルターおよび並べ替える方法を紹介します。
2. 技術的な準備
開始する前に、次のソフトウェアがインストールされていることを確認してください:
- Node.js および npm: vue-cli およびその他の依存関係のインストールに使用されます。 。
- Vue CLI: Vue プロジェクトの作成と管理に使用されます。
- pandas と openpyxl: Excel ファイルとデータの処理に使用されます。
3. Vue プロジェクトの作成
まず、Vue CLI を使用して新しい Vue プロジェクトを作成します。コマンド ラインを開き、次のコマンドを実行します:
vue create dynamic-excel cd dynamic-excel
次に、デフォルト構成を選択してプロジェクトを作成します。
4. 必要な依存関係をインストールする
次に、必要な依存関係をインストールします。コマンド ラインで次のコマンドを実行します:
npm install xlsx vuetify axios
上記のコマンドは、Excel ファイルの処理に使用される xlsx、美しいユーザー インターフェイスの構築に使用される vuetify、ネットワーク リクエストの作成に使用される axios をインストールします。
5. コンポーネントとスタイルを作成する
コンポーネントを保存するために、src ディレクトリに「components」という名前のフォルダーを作成します。 Excel テーブルを表示するには、コンポーネント フォルダーに ExcelTable.vue という名前のファイルを作成します。スタイルを記述するために、styles フォルダーの下に ExcelTable.scss という名前のファイルを作成します。
ExcelTable.vue コードは次のとおりです:
<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 コードは次のとおりです:
@import "~vuetify/src/styles/styles.sass";
6. ExcelTable コンポーネントを使用します
ExcelTable コンポーネントを使用しますApp.vue ファイル内。コードは次のとおりです:
<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 ファイルとデータの処理
次に、Excel ファイルとデータの処理方法を紹介します。ツール関数を保存するために、src ディレクトリに utils という名前のフォルダーを作成します。 Excel ファイルとデータを処理するために、utils フォルダーの下に Excel.js という名前のファイルを作成します。
excel.js コードは次のとおりです:
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. バックエンド データの処理
実際の状況に応じて、axios を使用してバックエンドから Excel ファイルまたはデータを取得できます。 -end し、データを ExcelTable コンポーネントに渡します。
9. コンパイルと実行
コマンド ラインで次のコマンドを実行して、プロジェクトをコンパイルして実行します:
npm run serve
ブラウザを開いて、http://localhost:8080 にアクセスして確認します。 Excel テーブルを動的にフィルタリングして並べ替えます。
概要
この記事では、Vue と Excel を使用してデータを動的にフィルターおよび並べ替える方法を紹介します。 Vue プロジェクトを作成し、必要な依存関係をインストールし、コンポーネントとスタイルを作成し、Excel ファイルとデータを処理することにより、最終的に動的にフィルターおよび並べ替えられた Excel テーブルが実装されました。この記事が、Vue と Excel を使用してデータを動的にフィルターおよび並べ替える方法を理解するのに役立つことを願っています。
以上がVue と Excel を使用してデータを動的にフィルタリングおよび並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

Vue.jsでは、Lazy Loadingを使用すると、コンポーネントまたはリソースを必要に応じて動的にロードすることができ、初期ページの読み込み時間を短縮し、パフォーマンスを改善できます。特定の実装方法には、&lt; Keep-Alive&gt;および&lt;コンポーネントは&gt;コンポーネント。怠zyなロードは、FOUC(スプラッシュ画面)の問題を引き起こす可能性があり、不必要なパフォーマンスのオーバーヘッドを避けるために怠zyなロードが必要なコンポーネントにのみ使用する必要があることに注意してください。

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

Vueコンポーネントの合格値は、コンポーネント間でデータと情報を渡すメカニズムです。プロパティ(小道具)またはイベントを介して実装できます:プロップ:コンポーネントで受信するデータを宣言し、親コンポーネントにデータを渡します。イベント:$ EMITメソッドを使用して、VONディレクティブを使用してイベントをトリガーし、親コンポーネントでイベントを聞きます。

ページネーションは、パフォーマンスとユーザーエクスペリエンスを向上させるために、大きなデータセットを小さなページに分割するテクノロジーです。 VUEでは、次の組み込みメソッドを使用してページを使用できます。ページの総数を計算します。TotalPages()トラバーサルページ番号:V-For Directive on Currentページを設定します。
