91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中怎么使用file-saver本地文件導出功能

發布時間:2022-01-07 17:46:44 來源:億速云 閱讀:187 作者:iii 欄目:開發技術

這篇文章主要講解了“vue中怎么使用file-saver本地文件導出功能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“vue中怎么使用file-saver本地文件導出功能”吧!

1:安裝xlsx和file-saver

npm install file-saver xlsx  --save

2:創建localExports.js文件

3:直接上代碼

import XLSX from 'xlsx';
const FileSaver = require('file-saver');
import { getRandomNum } from '@/utils';
// 本地導出表格
/**
 * 導出Excel文件
 * @param {*} elementName   table組件id名稱
 * @param {*} fileName      文件名
 * @description             使用說明
 *                          import { exportsXlsx } from '@/utils/localExports';
 *                          exportsXlsx('idName', '文件名稱');
 */
 
export function exportsXlsx(elementName, fileName) {
  const time = new Date().getTime();
  const random = getRandomNum(100, 1000);
  const wb = XLSX.utils.table_to_book(clearHead(elementName), { raw: true });
  const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
  FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), `${fileName}${time}-${random}.xlsx`);
}
function clearHead(elementName) {
  const tableDom = document.querySelector('#' + elementName).cloneNode(true);
  const tableHeader = tableDom.querySelector('.el-table__header-wrapper');
  const tableBody = tableDom.querySelector('.el-table__body');
  tableHeader.childNodes[0].append(tableBody.childNodes[1]);
  const headerDom = tableHeader.childNodes[0].querySelectorAll('th');
 
  // 移除左側checkbox的節點
  if (headerDom[0].querySelectorAll('.el-checkbox')) {
    headerDom[0].remove();
  }
  for (const key in headerDom) {
    if (headerDom[key].innerText === '操作') {
      headerDom[key].remove();
    }
  }
  // 清理掉checkbox 和操作的button
  const tableList = tableHeader.childNodes[0].childNodes[2].querySelectorAll('td');
  for (let key = 0; key < tableList.length; key++) {
    if (tableList[key].querySelectorAll('.el-checkbox').length > 0 || tableList[key].querySelectorAll('.el-button').length > 0) {
      tableList[key].remove();
    }
  }
  return tableHeader;
}

4:使用方式

<el-table
          id="good"
          v-loading="listLoading"
          :header-cell-
          :data="list"
          tooltip-effect="dark"
          
          height="566"
          border
          @selection-change="handleSelectionChange"
        >
 
import { exportsXlsx } from '@/utils/localExports';
methods:{
  onSearch() {
      exportsXlsx('good', '模擬數據');
    
    },
}

5:good為table組件的id,getRamdomNum方法如下

// 生成隨機數
export function getRandomNum(Min, Max) {
  var Range = Max - Min;
  var Rand = Math.random();
  return (Min + Math.round(Rand * Range));
}

感謝各位的閱讀,以上就是“vue中怎么使用file-saver本地文件導出功能”的內容了,經過本文的學習后,相信大家對vue中怎么使用file-saver本地文件導出功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

雅江县| 古蔺县| 平阳县| 马尔康县| 辉县市| 洪江市| 江永县| 池州市| 平阳县| 鄂尔多斯市| 营山县| 连州市| 章丘市| 池州市| 棋牌| 酒泉市| 灵山县| 潜山县| 邮箱| 普格县| 秦安县| 成武县| 贵定县| 牙克石市| 桑日县| 扎鲁特旗| 布拖县| 达孜县| 体育| 辽源市| 台州市| 尉氏县| 三门峡市| 遵化市| 昔阳县| 吴江市| 黄骅市| 达尔| 三穗县| 炉霍县| 利津县|