最新文章專題視頻專題關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

如何使用js-xlsx之合并單元格

來源:懂視網 責編:小采 時間:2020-11-27 20:01:18
文檔

如何使用js-xlsx之合并單元格

如何使用js-xlsx之合并單元格:這次給大家帶來如何使用如何使用s-xlsx之合并單元格,使用s-xlsx之合并單元格的注意事項有哪些,下面就是實戰案例,一起來看一下。導入數據觀察數據格式1.1.我們先創建一個具有合并單元格的xlsx表格就以表頭數據合并示例吧:示例1.2.寫個簡單的數據導入功能(
推薦度:
導讀如何使用js-xlsx之合并單元格:這次給大家帶來如何使用如何使用s-xlsx之合并單元格,使用s-xlsx之合并單元格的注意事項有哪些,下面就是實戰案例,一起來看一下。導入數據觀察數據格式1.1.我們先創建一個具有合并單元格的xlsx表格就以表頭數據合并示例吧:示例1.2.寫個簡單的數據導入功能(
這次給大家帶來如何使用如何使用s-xlsx之合并單元格,使用s-xlsx之合并單元格的注意事項有哪些,下面就是實戰案例,一起來看一下。

導入數據觀察數據格式

1.1.我們先創建一個具有合并單元格的xlsx表格

就以表頭數據合并示例吧:

1.png

示例

1.2.寫個簡單的數據導入功能(你可以參考前言中的文章編寫,我就不放代碼了)

導入xlsx參考數據格式:

示例

2.png

1.3.查看官網說明

3.png

官網示例(http://sheetjs.com/demos/modify.html):

官網示例

4.png

根據官網說明我們簡單看出合并單元格的數據格式是:

........
data["!merges"] = [{
  s: {//s為開始
   c: 1,//開始列
   r: 0//可以看成開始行,實際是取值范圍
  },
  e: {//e結束
   c: 4,//結束列
   r: 0//結束行
  }
  }];
........

2.動手實驗

2.1.寫個簡單的導出demo

<!DOCTYPE html><html><head>
 <meta charset="UTF-8">
 <title></title></head><body>
 <script src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script>
 <!--調用FileSaver saveAs函數可以實現文件下載-->
 <!--<script src="http://sheetjs.com/demos/Blob.js"></script>
 <script src="http://sheetjs.com/demos/FileSaver.js"></script>-->
 <script>
 //如果使用 FileSaver.js 就不要同時使用以下函數
 function saveAs(obj, fileName) {//當然可以自定義簡單的下載文件實現方式 
  var tmpa = document.createElement("a");
  tmpa.download = fileName || "下載";
  tmpa.href = URL.createObjectURL(obj); //綁定a標簽
  tmpa.click(); //模擬點擊實現下載
  setTimeout(function () { //延時釋放
  URL.revokeObjectURL(obj); //用URL.revokeObjectURL()來釋放這個object URL
  }, 100);
 } var jsono = [{ //測試數據
  "id": 1,//A
  "合并的列頭1": "數據11",//B
  "合并的列頭2": "數據12",//C
  "合并的列頭3": "數據13",//D
  "合并的列頭4": "數據14",//E
 }, {  "id": 2,  "合并的列頭1": "數據21",  "合并的列頭2": "數據22",  "合并的列頭3": "數據23",  "合并的列頭4": "數據24",
 }];//....
 const wopts = { bookType: 'xlsx', bookSST: true, type: 'binary' };//這里的數據是用來定義導出的格式類型 
 function downloadExl(data, type) {  var wb = { SheetNames: ['Sheet1'], Sheets: {}, Props: {} };  //wb.Sheets['Sheet1'] = XLSX.utils.json_to_sheet(data);//通過json_to_sheet轉成單頁(Sheet)數據
  data = XLSX.utils.json_to_sheet(data); 
  data["B1"] = { t: "s", v: "asdad" };
  data["!merges"] = [{//合并第一行數據[B1,C1,D1,E1]
  s: {//s為開始
   c: 1,//開始列
   r: 0//開始取值范圍
  },  e: {//e結束
   c: 4,//結束列
   r: 0//結束范圍
  }
  }];
  wb.Sheets['Sheet1'] = data;
  saveAs(new Blob([s2ab(XLSX.write(wb, wopts))], { type: "application/octet-stream"}), "這里是下載的文件名" + '.' + (wopts.bookType == "biff2" ? "xls" : wopts.bookType));
 } function s2ab(s) {  if (typeof ArrayBuffer !== 'undefined') {  var buf = new ArrayBuffer(s.length);  var view = new Uint8Array(buf);  for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;  return buf;
  } else {  var buf = new Array(s.length);  for (var i = 0; i != s.length; ++i) buf[i] = s.charCodeAt(i) & 0xFF;  return buf;
  }
 } </script>
 <button onclick="downloadExl(jsono)">導出</button></body></html>

相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

相關閱讀:

如何使用s-xlsx實現Excel 文件導入和導出(下)

如何使用s-xlsx實現Excel 文件導入和導出(上)

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com

文檔

如何使用js-xlsx之合并單元格

如何使用js-xlsx之合并單元格:這次給大家帶來如何使用如何使用s-xlsx之合并單元格,使用s-xlsx之合并單元格的注意事項有哪些,下面就是實戰案例,一起來看一下。導入數據觀察數據格式1.1.我們先創建一個具有合并單元格的xlsx表格就以表頭數據合并示例吧:示例1.2.寫個簡單的數據導入功能(
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
国产精品久久久久精品…-国产精品可乐视频最新-亚洲欧美重口味在线-欧美va免费在线观看