Pārlūkot izejas kodu

导出excel设置列宽

Renxy 1 gadu atpakaļ
vecāks
revīzija
d8cdc58a09
1 mainītis faili ar 17 papildinājumiem un 0 dzēšanām
  1. 17 0
      src/utils/exportExcl.js

+ 17 - 0
src/utils/exportExcl.js

@@ -17,8 +17,10 @@ export function getExcelBolob(luckysheet) {
     const worksheet = workbook.addWorksheet(table.name);
     const merge = (table.config && table.config.merge) || {};
     const borderInfo = (table.config && table.config.borderInfo) || {};
+    const columnlen = (table.config && table.config.columnlen) || {};
     // 3.设置单元格合并,设置单元格边框,设置单元格样式,设置值
     setStyleAndValue(table.data, worksheet);
+    setColumnlen(columnlen, worksheet);
     setMerge(merge, worksheet);
     setBorder(borderInfo, worksheet);
     return true;
@@ -149,6 +151,21 @@ var setStyleAndValue = function (cellArr, worksheet) {
   });
 };
 
+//设置导出的列宽
+var setColumnlen = function (luckyColumnlen, worksheet) {
+  const columnlen = Object.values(luckyColumnlen);
+  const result = columnlen.map(function (elem, idx) {
+    // elem格式:{r: 0, c: 0, rs: 1, cs: 2}
+    // 按开始行,开始列,结束行,结束列合并(相当于 K10:M12)
+    return {
+      header: idx,
+      key: idx,
+      width: elem / 10,
+    };
+  });
+  worksheet.columns = result;
+};
+
 var fillConvert = function (bg) {
   if (!bg) {
     return {};