Excelアップロード機能を実現するVue + iViewの完全コード

Excelアップロード機能を実現するVue + iViewの完全コード

1. HTML部分

<Col span="2">ファイルをアップロード:</Col>
<Col span="22" class="uploadExcelBox">
    <アップロード ref="uploadExcel" :loading="uploadLoading" :action="uploadFileUrl" accept="xlsx,xls" :format="uploadFormat" :before-upload="beforeImgFile" :on-success="successImgFile" :on-error="errorImgFile" :show-upload-list="true">
         <Button type="success">添付ファイルをアップロード</Button>
	 </アップロード>
     <div v-if="uploadingFile !== null">アップロードするファイル:
          <span class="blueFont">{{ ファイル名 }}</span>
          <Button @click="uploadFun(index)" :loading="loadingStatus" class="manualUploadBtn">{{ loadingStatus ? 'アップロード中...' : 'クリックしてアップロードを開始' }}</Button>
      </div>
</Col>

2. JS部分

<スクリプト>
    // '@/libs/excel' から Excel をインポートします
	import service from '@/libs/request' //現在のドメイン名を取得するために使用します import reportFormApi from '@/api/reportForm'
    エクスポートデフォルト{
        データ() {
            戻る {
                uploadLoading:false, //アップロードコントロールの読み込みステータス uploadFileUrl: "",
				アップロードフォーマット:['xlsx','xls'],
				uploadingFile:null, //アップロードするファイル loadingStatus:false, //アップロードコンポーネントのステータス fileName:"", //アップロードするファイルの名前}
        },
        マウント() {
            this.uploadFileUrl = service.apiUrl + "/qingximaster/winInfo/execlAdd"; // バックエンド担当者が提供する、Excel をアップロードするためのインターフェイス パス。
        },
        メソッド: {
			// 画像をアップロードする前に beforeImgFile(file) {
				// console.log(ファイル);
				定数 fileExt = file.name.split('.').pop().toLocaleLowerCase()
				ファイル拡張子が 'xlsx' の場合 || ファイル拡張子が 'xls' の場合 {
					var フォームデータ = 新しい FormData();
					formdata.append("ファイル",ファイル);
                    this.fileName = formdata.get('file').name; //formdata.get('file') メソッドを使用すると、Excel ファイル名などのファイル内の情報を取得できます。
					this.uploadingFile = formdata; //注: これはアップロードするインターフェースにパラメータとして渡されます。インターフェイスに渡されるファイルには formdata.get('file') は必要なく、ファイルを直接渡すだけです。
				} それ以外 {
					this.$Notice.warning({
						タイトル: 「ファイルタイプエラー」
						説明: 'ファイル:' + file.name + 'EXCEL ファイルではありません。拡張子が .xlsx または .xls の EXCEL ファイルを選択してください。 '
					})
				}
				偽を返す
			},
			// アップロードに成功しました successImgFile(response, file, fileList) {
                this.$Notice.success({
                    タイトル: 「ヒント」
                    説明: 'アップロードに成功しました! '
                })
			},
			// アップロードに失敗しました errorImgFile(error, file, fileList) {
				this.$Notice.success({
                    タイトル: 「ヒント」
                    説明: 'アップロードに失敗しました! '
                })
				コンソール.log(エラー);
			},
			uploadFun(index){//Excel をアップロードするためのインターフェイスを呼び出す
				this.loadingStatus = true;
				reportFormApi.uploadExcel({
                    URL: this.uploadFileUrl、
                    ファイル: this.uploadingFile
                }).then(res =>{
					this.uploadingFile = null;
                    this.fileName = "";
                    (res.code==0)の場合{
                        this.infoList[index].content = JSON.stringify(res.data);
					    // console.log(this.infoList[index].content);
                        this.$Message.success("アップロードに成功しました!");
                    }それ以外{
                        this.$Message.error(res.message);
                    }
				}).finally(()=>{
					this.loadingStatus = false;
                    this.uploadLoading = false;
                })
			},
        }
    }

3. ページ効果は次の通りです

(1)ページのデフォルトの外観

(2)アップロードするExcelファイルを選択する

(3)「アップロード開始」をクリックした後

上記は、Excel アップロードを実現するための Vue + iView の詳細です。vue iview excel アップロードの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vue ElementUI で Excel ファイルを手動でサーバーにアップロードする方法の詳細な説明
  • Vue Excel アップロード プレビューとテーブル コンテンツを Excel ファイルへダウンロード
  • Vue で Excel ファイルのアップロードとダウンロード機能を実装する 2 つの方法
  • Vue+Spring Bootを使用してExcelアップロード機能を実装する
  • vue iView アップロードコンポーネントの手動アップロード機能

<<:  MySQL マスター/スレーブ データベース同期構成と一般的なエラー

>>:  WIN10 に複数のデータベースがインストールされている場合にコンピュータの速度低下を防ぐ方法

推薦する

MySQL データベース データのロード 複数の用途

目次MySQL Load Dataの多様な用途1. LOAD の基本的な背景2. 基本パラメータをロ...

HTML ハイパーリンク内の中国語文字化けの分析と解決

Vm 内のハイパーリンク URL は、Get 要求のパラメータとして中国語と連結する必要があります。...

MySQL の日付と時刻の加算と減算のサンプル コード

目次1.MySQLは時間間隔を加算または減算します2. 日付を減算する最近、MySQL を見直してい...

shtml includeの使い方

これを応用することで、ウェブサイトの一部の公開領域を独立したページにすることができ、その後、この技術...

CSS テキスト配置実装コード

フォームを作成するときに、名前、携帯電話番号、出生地などの 2 つのフィールドを揃える状況に遭遇する...

JavaScript における this ポイントの問題の詳細な説明

要約する地球環境 ➡️ ウィンドウ通常関数 ➡️ ウィンドウまたは未定義コンストラクター ➡️ 構築...

Linux ファイルとユーザー管理の実践

1. /etc ディレクトリ内の、文字以外の文字で始まり、その後に文字と任意の長さのその他の文字が続...

MySQL マルチバージョン同時実行制御 MVCC の詳細な研究

MVCC MVCC (Multi-Version Concurrency Control) は、マル...

jQuery キャンバスで画像検証コード例を描画する

この記事では、jQuery Canvasの描画画像検証コードの具体的なコードを例として紹介します。具...

autoconfを使用してMakefileを生成し、プロジェクトをコンパイルする手順

序文Linux では、コンパイルとリンクには Makefile を使用する必要がありますが、適切な ...

MySQL の完全なデータベース バックアップからデータベースとテーブルを復元する方法

公式の MySQL ダンプ ツールで、特定のデータベースのみを復元するにはどうすればよいですか?完全...

sqlとmysqlの違いは何ですか?

SQL とは何ですか? SQL はデータベースを操作するために使用される言語です。 SQL はすべ...

LinuxにNginxを素早くインストールする方法

目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...

Linuxで同一ファイルを見つける方法

コンピュータを使用すると、システム内に大量のゴミが生成されます。最も一般的なケースは、同じファイルが...

Reactは感情を使ってCSSコードを書く

目次導入:感情のインストール:一般的な CSS コンポーネントを追加します。既存のコンポーネントにス...