1. フロントエンドのリーディングプロセス:1. ページ上のエクスポートボタンをクリックする(クリックイベントを登録する) 2. イベントコールバックでバックグラウンドデータのリクエストを送信する 3. 背景データを処理し、目的の効果を実現する 4. Excelファイルを生成する 2. プラグインの使用と初期化2.1 vue-admin で提供されているメソッドを利用します。プラグイン パッケージをコピーして、プロジェクトの src フォルダーに貼り付けます。 2.2 プラグインの依存関係をインストールします。注意:エラーが報告される可能性が高くなります。この段階でのエラーは基本的に依存関係がインストールされていないことが原因です。すべてインストールしてください。
2.3 コールバック関数の内容は以下のとおりです「エクスポート」ボタンを正式にクリックすると、ベンダー フォルダーに Export2Excel モジュールがロードされます。 正式に「エクスポート」ボタンをクリックすると、ベンダーフォルダのExport2Excelモジュールが読み込まれます。import('@/vendor/Export2Excel').then(excel => { // Excel はインポートされたモジュール オブジェクトを表します // import メソッドは実行後に promise オブジェクトを返します。 // then メソッドでは、使用されるモジュール オブジェクトを取得できます console.log(excel) excel.export_json_to_excel({ ヘッダー: ['name', 'salary'], // ヘッダーに必要なデータ: [ ['Liu Bei', 100], //データの構成部分に注目すると、厳密な2次元配列が必要であることがわかります ['Guan Yu', 500] ], // 必要な特定のデータ filename: 'excel-list', // ファイル名 autoWidth: true, // 幅が適応的かどうか bookType: 'xlsx' // 生成されるファイルの種類 }) }) Excel エクスポート パラメータの説明 注: ここまでは、自分で書いた偽データを使用して、簡単なエクスポートエフェクトが完成しました。実際のプロジェクトでは、バックグラウンドから返されたデータを使用し、目的の効果が得られるようにフォーマットを変更する必要があります (テスト済みであり、上記の手順に従って完了できます)。効果は次のとおりです。 3. 背景データを処理し、目的の効果を実現するたとえば、バックグラウンドによって返されるテーブル ヘッダーは英語であり、中国語に変換する必要がありますが、その形式はプラグインで必要な形式ではありません。 バックエンドの戻りデータ: キーを中国語に変換し、値を配列にキャプチャする必要があります。 3.1 データ処理関数を準備する(最後のコールバックで使用されます)3.2 最初にテーブルヘッダーを処理し、後で英語のヘッダーを中国語に変換するオブジェクトを定義します。定数マップ = { 'id': '番号', 'パスワード': 'パスワード', 'mobile': '携帯電話番号', 'ユーザー名': '名前', 'timeOfEntry': '求人エントリー日', 'formOfEmployment': '雇用形態', 'correctionTime': '訂正日', 'workNumber': '作業番号', 'departmentName': '部門', 'staffPhoto': 'アバターアドレス' } 3.3 ヘッダーを定義するheader = [英語のヘッダーは後で配列の形式で中国語に変換されます] 効果は次のコードに示されています。 ヘッダー = ['id', 'mobile', 'username',……] 3.4 バックグラウンドリターンデータを処理する背景は配列を返し、そのうちの 1 つを最初のデータとして定義します。目的は、最初のデータをサンプルとしてヘッダーを設定することです。最初のデータが false の場合、背景は何も返さず、再生全体が終了していることを意味します。 効果は次のコードに示されています。 定数 1 = リスト[0] もし(!1) { { ヘッダー、データ } を返す } 3.5 ヘッダー処理ロジック01 `Object.keys(one) ` これはオブジェクトを走査し、キーを抽出して配列を形成します。 02 `map`メソッドは各項目を走査し、配列を返します 03 `return map[key]` は map.id = 'number' と見ることができます (理解しやすい)。map メソッドは map オブジェクトに対して処理を続け、map[key] は実際には 'number'、'department' などの値であり、次のような配列を形成します: ['name'、'salary'] ヘッダー = Object.keys(one).map(キー => { マップ[キー]を返す }) 3.6 テーブルデータ処理ロジック目的: 背景は、1 と 2 で表される正式な従業員と非公式な従業員を返します。数字をテキストに変換し、配列形式にする必要があります。
効果は次のコードに示されています。 // データはリスト内の各オブジェクトを対応する値の配列に変換します // hireTypEnmu:{1:'formal', '2':'informal' } データ = list.map(obj => { // Obj['formOfEmployment']: 1, 2 ---> 'formal'、'informal' const key = obj['formOfEmployment'] // 1, 2 obj['formOfEmployment'] = hireTypEnmu[キー] Object.values(obj) を返します。 }) 3.7 関数の戻り値処理されたデータを返す { ヘッダー、データ } を返す 3.8 最終完了このとき、この関数をコールバック関数に取り込むと、ヘッダーとデータ データがすでに存在します。 完成したコードは次のとおりです。 hエクスポート() { import('@/vendor/Export2Excel').then(非同期Excel => { // データを取得するために Ajax リクエストを送信します const res = await getEmployee(this.page, this.size) 定数リスト = res.data.rows console.log('バックエンドから取得したデータ', リスト) const { ヘッダー、データ } = this.formatData(リスト) // Excel はインポートされたモジュール オブジェクトを表します console.log(header, data) excel.export_json_to_excel({ // ヘッダー: ['name', 'salary'], // ヘッダーは必須 ヘッダー: header, // ヘッダーは必須 データ: data, filename: 'excel-list', // ファイル名 autoWidth: true, // 幅が適応的かどうか bookType: 'xlsx' // 生成されたファイルの種類 }) }) }, 要約:上記のコードはテスト済みであり、効果を実現するために直接使用できます。 付録: vue-element-admin はコード クラウドから取得されました。このバージョンには、二次的な開発機能がさらに追加されています。 # git clone https://github.com/panjiachen/vue-element-admin.git # github からコードをプルします$ git clone https://gitee.com/mirrors/vue-element-admin.git # コードクラウドからプルします$ cd vue-element-admin # 特定のディレクトリに切り替えます$ npm install # すべての依存関係をインストールします$ npm run dev # 開発およびデバッグモードを開始します。起動コマンドを確認するには、package.json ファイル内のスクリプトを確認してください。 Vue の Excel エクスポート機能に関するこの記事はこれで終わりです。Vue の Excel エクスポート機能に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
1. ボタンが押されたときに点線のボックスをキャンセルする<br />入力に属性値hid...
この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...
目次1. MySQLをダウンロードする1.1 ダウンロード1.2 インストール1. MySQLをダウ...
目次負荷分散に nginx を使用するための 2 つのモジュール:アップストリームはロードノードプー...
border-radius:10px; /* すべての角は半径 10px で丸められます*/ bor...
この例で使用されているMySQLのバージョンはmysql-8.0.15-winx64です。 1. z...
一般的に使用される方法は次の 4 つです。 1.locate()メソッドを使用する一般的な使用法: ...
目次1. 父から息子へ2. 息子から父へ3. ブラザーコンポーネント通信(バス) 4. ref/re...
シェルスクリプトを使用したMySQLデータベースの自動バックアップデータベースを頻繁にバックアップす...
目次導入1. MySQLデータベースの全体的なアーキテクチャSQL インターフェースパーサーオプティ...
Python 3.4でMySQLデータベースを使用する詳細なプロセスは次のとおりです。 Window...
nginx サーバーnginx は、静的ファイルの処理に非常に効率的な優れた Web サーバーです。...
ボタンは頻繁に使用されます。ここでは、イベント処理メソッドを整理し、実装方法が多数あることを発見しま...
目次node.js+nvm+npm を設定するnpmスイッチタオバオミラーVue.jsをインストール...
今週は戦争のように忙しかったです。他人に操られているような気がします。毎日朝早く出勤して夜遅く帰り、...