Json生成Excel文件并下載到本地

項目中后端返回JSON數(shù)據(jù)絮缅,我們前端需要生成Excel文件并保存

第一種方法

參考文檔

不是官方的,網(wǎng)上的 參考文檔

安裝

  • 我這里使用了vue-cli.

    安裝依賴包

    npm i  file-saver xlsx  script-loader -S
    

使用

  1. 在項目中創(chuàng)建一個文件夾(比如vendor绳泉,一般是在src目錄下創(chuàng)建)

  2. Blob.jsExport2Excel.js 這兩個文件夾放到新建的文件夾內(nèi)

  3. 由于這幾個文件不支持import引入稀轨,所以我們需要script-loader來將他們掛載到全局環(huán)境下

  4. 添加到export2Excel.js

```javascript
require('script-loader!file-saver'); //保存文件用 
require('script-loader!vendor/Blob'); //轉(zhuǎn)二進制用 
require('script-loader!xlsx/dist/xlsx.core.min'); //xlsx核心 
```
  1. 注意Bolb的引入 上面的引入需要修改成這樣
  require('script-loader!@/vendor/Blob'); //引入之前下載的Bolo.js 

使用方法

在vue的methods鉤子中新增方法
代碼如下

handleDownload() {
   require.ensure([], () = {
     const { export_json_to_excel } = require("@/vendor/Export2Excel");
     const tHeader = ["日期", "姓名", "地址"];
     const data = ["111",'456','666'];
     export_json_to_excel(tHeader, data, "列表excel");
   });
 }

第二種方法

參考文檔

  1. npm地址 js-export-excel
  2. 使用參考文檔 參考文檔
  3. 安裝
npm i js-export-excel -S

使用

const option = {};
   option.fileName = "excel";
   option.datas = [
       {
           sheetData: [
               { one: "一行一列", two: "一行二列" },
               { one: "二行一列", two: "二行二列" }
           ],
           sheetName: "sheet",
           sheetFilter: ["two", "one"],
           sheetHeader: ["第一列", "第二列"],
           columnWidths: [20, 20]
       },
       {
           sheetHeader: ["姓名", "性別"],
           sheetData: [["wxh", "男"], ["xh", "女"]]
       }
      ];
const toExcel = new ExportJsonExcel(option); //new
toExcel.saveExcel(); //保存

選項

  • 數(shù)據(jù)數(shù)據(jù)

    /*多個sheet*/
    /*每個sheet為一個object */
    [{
    sheetData:[], // 數(shù)據(jù)
    sheetName:'', // sheet名字
    sheetFilter:[], //列過濾
    sheetHeader:[] // 第一行
    columnWidths: [] //列寬 需與列順序?qū)?yīng)
    }]
    
    • fileName 下載文件名(默認(rèn):下載)
  • 表格選項

  1. sheetName sheet名字(可有可無)(默認(rèn)sheet1)
  2. **sheetHeader **標(biāo)題(excel第一行數(shù)據(jù))
 sheetHeader: ["姓名", "性別"],
  1. columnWidths列寬非必須
   // number 屏幕寬度為100 20即為 1/5屏幕大小
   columnWidths = [20, ""];
  1. sheetData數(shù)據(jù)源(必須)
//第一種方式 Object
sheetData: [
          { one: "一行一列", two: "一行二列" },
          { one: "二行一列", two: "二行二列" }
        ]
//第二種方法 Array
sheetData: [["wxh", "男"], ["xh", "女"]]
  1. sheetFilter 列過濾(只有在數(shù)據(jù)為對象下起作用)(可有可無)
sheetFilter = ["two", "one"];

完成

  • 我不太會總結(jié),多看幾次代碼我也就會了,復(fù)制粘貼
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末复旬,一起剝皮案震驚了整個濱河市萌狂,隨后出現(xiàn)的幾起案子冠场,更是在濱河造成了極大的恐慌炬丸,老刑警劉巖秆麸,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件初嘹,死亡現(xiàn)場離奇詭異,居然都是意外死亡沮趣,警方通過查閱死者的電腦和手機屯烦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來房铭,“玉大人驻龟,你說我怎么就攤上這事「追耍” “怎么了翁狐?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長凌蔬。 經(jīng)常有香客問我露懒,道長,這世上最難降的妖魔是什么砂心? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任隐锭,我火速辦了婚禮,結(jié)果婚禮上计贰,老公的妹妹穿的比我還像新娘钦睡。我一直安慰自己,他們只是感情好躁倒,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布荞怒。 她就那樣靜靜地躺著洒琢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪褐桌。 梳的紋絲不亂的頭發(fā)上衰抑,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天,我揣著相機與錄音荧嵌,去河邊找鬼呛踊。 笑死,一個胖子當(dāng)著我的面吹牛啦撮,可吹牛的內(nèi)容都是我干的谭网。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼赃春,長吁一口氣:“原來是場噩夢啊……” “哼愉择!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起织中,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤锥涕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后狭吼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體层坠,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年刁笙,在試婚紗的時候發(fā)現(xiàn)自己被綠了窿春。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡采盒,死狀恐怖旧乞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情磅氨,我是刑警寧澤尺栖,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站烦租,受9級特大地震影響延赌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜叉橱,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一挫以、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窃祝,春花似錦掐松、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抡句。三九已至,卻和暖如春杠愧,著一層夾襖步出監(jiān)牢的瞬間待榔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工流济, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锐锣,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓绳瘟,卻偏偏與公主長得像雕憔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子稽荧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容