banner
leoking

leoking

前端开发者
tg_channel

vue2を使用してExcelをダウンロードする

axios#

import axios from 'axios';

// Excelファイルのダウンロード関数を定義する
function downloadExcel() {
  axios.get('http://example.com/download-excel', {
    responseType: 'blob', // レスポンスデータのタイプをBlobに指定する
  })
    .then(response => {
      // 一時的なURLオブジェクトを作成する
      const url = URL.createObjectURL(new Blob([response.data]));

      // aタグを作成し、属性を設定する
      const link = document.createElement('a');
      link.href = url;
      link.setAttribute('download', 'filename.xlsx'); // ダウンロードするファイル名を指定する

      // aタグをドキュメントに追加し、ダウンロードを模擬する
      document.body.appendChild(link);
      link.click();

      // 一時的なURLオブジェクトをクリーンアップする
      URL.revokeObjectURL(url);
    })
    .catch(error => {
      console.error('ダウンロードExcelファイル時にエラーが発生しました:', error);
    });
}

上記の例では、axios を使用して GET リクエストを送信し、レスポンスのタイプを blob に設定してバイナリデータを受信します。次に、レスポンスのバイナリデータを Blob オブジェクトに変換し、一時的な URL オブジェクトを作成します。その後、a タグを作成し、href 属性を一時的な URL に設定し、ダウンロードするファイル名を指定します。a タグをドキュメントに追加し、クリックイベントをトリガーしてファイルのダウンロードを模倣します。最後に、一時的な URL オブジェクトをクリーンアップしてリソースを解放します。

例の URL(http://example.com/download-excel)を実際の Excel ファイルのダウンロード URL に置き換え、必要に応じてファイル名(filename.xlsx)を変更してください。

fetch#

以下は fetch を使用した例です:

fetch('http://example.com/download-excel', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' // ファイルタイプをExcelに設定する
  }
})
  .then(response => response.blob())
  .then(blob => {
    // 一時的なURLオブジェクトを作成する
    const url = URL.createObjectURL(blob);

    // aタグを作成し、属性を設定する
    const link = document.createElement('a');
    link.href = url;
    link.download = 'filename.xlsx'; // ダウンロードするファイル名を指定する

    // aタグをドキュメントに追加し、ダウンロードを模擬する
    document.body.appendChild(link);
    link.click();

    // 一時的なURLオブジェクトをクリーンアップする
    URL.revokeObjectURL(url);
  })
  .catch(error => {
    console.error('ダウンロードExcelファイル時にエラーが発生しました:', error);
  });

上記の例では、fetch を使用して GET リクエストを送信し、リクエストヘッダの Content-Type を Excel ファイルの MIME タイプに設定します。次に、response.blob () メソッドを使用してレスポンスを Blob オブジェクトに変換し、一時的な URL オブジェクトを作成します。その後、a タグを作成し、href 属性を一時的な URL に設定し、ダウンロードするファイル名を指定します。a タグをドキュメントに追加し、クリックイベントをトリガーしてファイルのダウンロードを模倣します。最後に、一時的な URL オブジェクトをクリーンアップしてリソースを解放します。

例の URL(http://example.com/download-excel)を実際の Excel ファイルのダウンロード URL に置き換え、必要に応じてファイル名(filename.xlsx)とリクエストヘッダのファイルタイプを変更してください。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。