VueはExcelデータをエクスポートするパブリック関数メソッドをカプセル化します

VueはExcelデータをエクスポートするパブリック関数メソッドをカプセル化します

vue+element UI は Excel データをエクスポートするためのパブリック関数をカプセル化します

以下に示すように、ストアのモジュールの common.js にパブリック メソッドをカプセル化します。

ここに画像の説明を挿入

コードは次のとおりです。

定数ダウンロード = {
    アクション: {
        downloadData({ コミット, 状態 }, データ) {
            新しい Promise を返します ((resolve, reject) => {
                data.event(data.formData).then(res => {
                    const blob = 新しいBlob([res.data], {
                        タイプ: 'application/vnd.ms-excel'
                    })
                    const objectUrl = URL.createObjectURL(blob)
                    const link = document.createElement('a') // タグを作成する link.href = objectUrl
                    // ファイルの名前を変更する link.download = res.headers['content-disposition'].split(
                        '='
                    )[1]
                    リンク.クリック()
                    URL.revokeObjectURL(オブジェクトURL)
                    解決する
                }).catch((エラー) => {
                    拒否(エラー)
                })
            })
        }

    }

}

エクスポート デフォルト ダウンロード

次に、ストアのインデックスのパブリックモジュールにエクスポートします

ここに画像の説明を挿入

ここに画像の説明を挿入

メソッドを呼び出す必要があるコンポーネントで使用する

メソッド: {
       //データのエクスポートメソッド handleExport(formData) {
            this.loading = true
            定数データ = {
            // '@/api/loan/userLoanList' から { loanDownloadData } をインポートします
            // イベント: loanDownloadData、loanDownloadData はデータをエクスポートするためのインターフェースのキーワードです //formData は loanDownloadData インターフェース イベントに必要なパラメーターです: '', 
                フォームデータ: フォームデータ
            }
            this.$store.dispatch('downloadData', data).then(res => {
                this.loading = false
            }).catch(() => {
                this.loading = false
            })
        },

}

PS: インターフェースが正常にデータを返すことができるのに、インターフェースの呼び出し時にエラーが発生する場合は、インターフェース インターセプション ファイルによって返されるデータが正しくない可能性があります。まず、次のように utils->request.js ファイル (通常はこの場所にあります) を見つけます。

ここに画像の説明を挿入

インターフェースがインターセプトされたとき、エクスポートインターフェースがレスポンスなどのすべてのデータを返す必要がある場合、ヘッダーの名前変更ファイルはcommon.jsファイルで使用する必要があるため、次のようにします。

ここに画像の説明を挿入

一般的に、インターフェースインターセプションは、const res = response.data、return resのようにデータを返すだけでよい。

ここに画像の説明を挿入

Excel データをエクスポートするためのパブリック関数の Vue カプセル化に関するこの記事はこれで終わりです。Vue エクスポート Excel パブリック関数に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue フロントエンドでバックエンドから返された Excel ファイルをエクスポートする方法
  • VueはバックエンドインターフェースにExcelテーブルをエクスポートするよう要求します
  • js-xlsx を使用して Vue で Excel をエクスポートする方法
  • Vue フロントエンドの Excel ファイルのエクスポートの詳細な実装計画
  • Vue ベースの Excel 解析とエクスポートの詳細な説明
  • Vue を使用して Excel をエクスポートする際の落とし穴と解決策

<<:  MySQL 8.0.22 のインストールと設定のグラフィックチュートリアル

>>:  MySQL で binlog を使用する際のフォーマットの選択方法

推薦する

Vue での this.$set の使用に関する詳細な説明

目次Vue での this.$set の使用使用なぜレスポンシブなのか?分析する要約するVue での...

CSS を使用して同じ親タグの左側と右側に 2 つのボタンを配置する方法

この記事では、主に同じ親タグの左側と右側にある 2 つのボタンの CSS レイアウト方法を紹介し、皆...

Elementのメッセージポップアップウィンドウが繰り返しポップアップする問題の解決

目次1. 使用2. メッセージポップアップウィンドウが繰り返し表示される問題を解決する1. 使用Vu...

iOS スタイルの選択ボックスの開閉機能を実装するための純粋な CSS

1 効果デモアドレス: https://www.albertyy.com/2020/7/check...

Raspberry Pi msmtp と mutt のインストールと設定のチュートリアル

1. muttをインストールするsudo apt-get install mutt 2. msmtp...

CentOS7 は yum を使用して mysql 8.0.12 をインストールします

この記事では、centos7にyumを使用してMySQL 8.0.12をインストールする詳細な手順を...

ドラッグ可能なログインボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装されたドラッグ可能なログイン ボックスを紹介します。その効果は...

ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法

2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...

MYSQLでリモートアクセス権限を有効にする方法

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

MacOS で Docker を使用して MySQL マスター スレーブ データベースを作成する方法

1. MySQLイメージを取得するターミナルから最新のMySQLイメージを取得するdocker pu...

MySQLがクエリキャッシュをキャンセルした理由

MySQL には以前、クエリ キャッシュ (Query Cache) がありました。8.0 以降では...

Linux プラットフォームでの Zabbix エージェントのインストールと設定方法

ここでは、Linux プラットフォームでの Zabbix エージェントのインストールと構成について簡...

Vue ソング プログレス バーのサンプル コード

なお、これはvue-cliで作成したプロジェクトではありません。vue.jsを参照して記述したHTM...

Linuxのlocateコマンドの使い方

01. コマンドの概要実際には、locate コマンドは find -name の別の書き方ですが、...

Dockerコンテナレイヤーの概念の詳細な説明

目次01 コンテナの一貫性02 レイヤーの概念03 レイヤードデザインの利点今日はコンテナ レイヤー...