vue excelファイルのエクスポート


vue   excel  
import { downloadBinary } from '@/utils/index'
import axios from 'axios'

//     xls
export function downloadBinary(data, fileName="table.xls") {
  let blob = data;
  const reader = new FileReader();
  reader.readAsDataURL(blob); //    base64,      a  href
  reader.onload = e => {
      //     ,    a      
      let a = document.createElement("a");
      a.style.display = "none";
      a.download = fileName;

      a.href = e.target.result;
      const body = document.body;
      document.body.appendChild(a); //   firefox     click
      a.click();
      document.body.removeChild(a);
  };
}

leadingOut() {
      var { beginDate, endDate,sourceChannelCode} = this.searchForm
        var query = {
          beginDate: beginDate ? beginDate : null,
          endDate: endDate ? endDate : null,
          sourceChannelCode: sourceChannelCode !== null ? parseInt(sourceChannelCode) : '',
        }
        console.log(query,'====',process.env.VUE_APP_BASE_API )
        let baseUrl = process.env.VUE_APP_BASE_API == '/' ? '' : process.env.VUE_APP_BASE_API;
        axios.get(`${baseUrl}/auntportal/v1/report/exportCompleteResumeStatistics?beginDate=${beginDate}&endDate=${endDate}&sourceChannelCode=${query.sourceChannelCode}`, {responseType: 'blob'}).then(res => {
          console.log(res,'----')
          downloadBinary(res.data,`${query.beginDate}-${query.endDate}        .xls`)
        })
       //  window.open(`${baseUrl}/auntportal/v1/report/exportCompleteResumeStatistics?beginDate=${beginDate}&endDate=${endDate}&sourceChannelCode=${sourceChannelCode}`)
      },