From a3304021d69b1c9bcb56ccaf9c556edaebc5e5e7 Mon Sep 17 00:00:00 2001
From: gaoluyang <gaoluyang@rengu.cc>
Date: 星期二, 09 七月 2024 15:51:48 +0800
Subject: [PATCH] 模版导出功能开发
---
src/components/tool/excel.vue | 4
src/components/view/b2-standard-template.vue | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 219 insertions(+), 2 deletions(-)
diff --git a/src/components/tool/excel.vue b/src/components/tool/excel.vue
index 93c755a..cb972e4 100644
--- a/src/components/tool/excel.vue
+++ b/src/components/tool/excel.vue
@@ -39,7 +39,6 @@
</template>
<script>
-import {exportExcel} from '../../util/downExcelByLuckSheet'
// import { data } from 'jquery';
export default {
props: ['data', 'execlTitle'],
@@ -120,10 +119,11 @@
cellFormat: false // 璁剧疆鍗曞厓鏍兼牸寮�
},
option.myFolderUrl = this.LOCATIONVUE + '/',
+ // option.functionButton = '<i class="save_i el-icon-info" title="绯荤粺鏀寔鐨勫彉閲忥細
鏍峰搧缂栧彿
鏍峰搧鍨嬪彿
搴忓彿
妫�楠岄」
妫�楠屽瓙椤�
璁惧鍚嶇О
璁惧缂栫爜
鍗曚綅
瑕佹眰鍊�
璇曢獙鏂规硶 | 妫�娴嬫柟娉�
鏈�缁堝��
缁撹
璁$畻鍊�
妫�楠屽��"></i><button onClick="excelExport()" class="save">瀵煎嚭</button><button onClick="excelClosed()" class="save">淇濆瓨</button>'
option.functionButton = '<i class="save_i el-icon-info" title="绯荤粺鏀寔鐨勫彉閲忥細
鏍峰搧缂栧彿
鏍峰搧鍨嬪彿
搴忓彿
妫�楠岄」
妫�楠屽瓙椤�
璁惧鍚嶇О
璁惧缂栫爜
鍗曚綅
瑕佹眰鍊�
璇曢獙鏂规硶 | 妫�娴嬫柟娉�
鏈�缁堝��
缁撹
璁$畻鍊�
妫�楠屽��"></i><button onClick="excelClosed()" class="save">淇濆瓨</button>'
console.log(luckysheet)
luckysheet.create(option)
- }
+ },
}
}
</script>
diff --git a/src/components/view/b2-standard-template.vue b/src/components/view/b2-standard-template.vue
index 53eff22..d873b1b 100644
--- a/src/components/view/b2-standard-template.vue
+++ b/src/components/view/b2-standard-template.vue
@@ -73,6 +73,8 @@
<script>
import ValueTable from '../tool/value-table.vue'
import Excel from '../tool/excel.vue'
+ // import XLSX from 'xlsx'
+ // import XLSXS from 'xlsx-style'
export default {
components: {
ValueTable,
@@ -129,6 +131,7 @@
this.entityCopy = this.HaveJson(this.componentData.entity)
this.getPower()
window.excelClosed = this.closed
+ // window.excelExport = this.excelExport
},
methods: {
refreshTable() {
@@ -224,6 +227,220 @@
this.isShow = false
})
},
+ // excelExport () {
+ // let data = luckysheet.toJson()
+ // let allSheetData = luckysheet.getluckysheetfile();
+ // let sheet1 = allSheetData[0];
+ // console.log('allSheetData---', allSheetData)
+ // let downOriginData = sheet1.data;
+ // let arr = []; // 鎵�鏈夌殑鍗曞厓鏍兼暟鎹粍鎴愮殑浜岀淮鏁扮粍
+ // let bgConfig = {};
+ // let faObj = {};
+ // let fsObj = {};
+ // let fcObj = {};
+ // let percentageReg = /%$/;
+ // let cellValue = null;
+ //
+ // //鍒椾笅鏍� 鏁板瓧杞瓧姣�
+ // function chatatABC(n){
+ // var orda = 'a'.charCodeAt(0);
+ // var ordz = 'z'.charCodeAt(0);
+ // var len = ordz - orda + 1;
+ // var s = "";
+ // while( n >= 0 ) {
+ // s = String.fromCharCode(n % len + orda) + s;
+ // n = Math.floor(n / len) - 1;
+ // }
+ // return s.toUpperCase();
+ // }
+ // //杞寲棰滆壊
+ // function getHexColor(color) {
+ // let values = color
+ // .replace(/rgba?\(/, '')
+ // .replace(/\)/, '')
+ // .replace(/[\s+]/g, '')
+ // .split(',')
+ // let a = parseFloat(values[3] || 1),
+ // r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255),
+ // g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255),
+ // b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255)
+ // return '#' +
+ // ('0' + r.toString(16)).slice(-2) +
+ // ('0' + g.toString(16)).slice(-2) +
+ // ('0' + b.toString(16)).slice(-2)
+ // }
+ // // 鑾峰彇鍗曞厓鏍肩殑鑳屾櫙鑹�
+ // function setBackground(row, col, bg) {
+ // console.log('bg----', bg)
+ // let colA = chatatABC(col);
+ // let key = colA + (row + 1);
+ // bgConfig[key] = getHexColor(bg).replace(/\#?/, '');
+ // }
+ // // 鑾峰彇鍗曞厓鏍肩殑瀛椾綋鏍峰紡
+ // function setFontStyle(row, col, fa, fs, fc) {
+ // console.log('fc---', fc)
+ // let colA = chatatABC(col);
+ // let key = colA + (row + 1);
+ // faObj[key] = fa; // 瀛椾綋鍚嶇О
+ // fsObj[key] = fs; // 瀛椾綋澶у皬
+ // fcObj[key] = fc ? getHexColor(fc).replace(/\#?/, '') : ''; // 瀛椾綋棰滆壊
+ // }
+ //
+ // // 鍒ゆ柇鍊肩被鍨嬫槸鍚︿负鐧惧垎姣� %
+ // function isPercentage(value) {
+ // return percentageReg.test(value.m) && value.ct && value.ct.t === 'n'
+ // }
+ //
+ // // 鑾峰彇浜岀淮鏁扮粍
+ // for (let row = 0; row < downOriginData.length; row++) {
+ // let arrRow = [];
+ // for (let col = 0; col < downOriginData[row].length; col++) {
+ // if (cellValue != downOriginData[row][col]) {
+ // // 澶勭悊鍗曞厓鏍肩殑鑳屾櫙棰滆壊
+ // if (downOriginData[row][col].bg) {
+ // setBackground(row, col, downOriginData[row][col].bg)
+ // }
+ // // 澶勭悊鍗曞厓鏍煎瓧浣�
+ // if (downOriginData[row][col].v) {
+ // setFontStyle(row, col, downOriginData[row][col].ct.fa, downOriginData[row][col].fs, downOriginData[row][col].fc);
+ // }
+ // if (downOriginData[row][col].ct != null && downOriginData[row][col].ct.t == 'd') {
+ // // d涓烘椂闂存牸寮� 2019-01-01 鎴栬��2019-01-01 10:10:10
+ // arrRow.push(new Date(downOriginData[row][col].m.replace(/\-/g, '/'))) //鍏煎IE
+ // } else if (downOriginData[row][col].m && isPercentage(downOriginData[row][col])) {
+ // //鐧惧垎姣旈棶棰�
+ // arrRow.push(downOriginData[row][col].m)
+ // } else {
+ // arrRow.push(downOriginData[row][col].v)
+ // }
+ // }
+ // }
+ // arr.push(arrRow)
+ // }
+ // let opts = {
+ // dateNF: 'm/d/yy h:mm',
+ // cellDates: true,
+ // cellStyles: true
+ // }
+ // let ws = XLSX.utils.aoa_to_sheet(arr, opts)
+ // console.log('ws----', ws)
+ // let reg = /[\u4e00-\u9fa5]/g;
+ // for (let key in ws) {
+ // let item = ws[key]
+ // if (item.t === 'd') {
+ // if (item.w) {
+ // //鏃堕棿鏍煎紡鐨勮缃�
+ // let arr = item.w.split(' ')
+ // if (arr[1] && arr[1] == '0:00') {
+ // ws[key].z = 'm/d/yy'
+ // } else {
+ // item.z = 'yyyy/m/d h:mm:ss'
+ // }
+ // }
+ // } else if (item.t === 's') {
+ // //鐧惧垎姣旇缃牸寮�
+ // if (item.v && !item.v.match(reg) && item.v.indexOf('%') > -1) {
+ // item.t = 'n'
+ // item.z = '0.00%'
+ // item.v = Number.parseFloat(item.v) / 100
+ // }
+ // else if (item.v && item.v.match(reg)) {
+ // //鍚湁涓枃鐨勮缃眳涓牱寮�
+ // item['s'] = {
+ // alignment: { vertical: 'center', horizontal: 'center' }
+ // }
+ // }
+ // }
+ // // 璁剧疆鍗曞厓鏍兼牱寮�
+ // if (bgConfig[key] && item.v) {
+ // ws[key]['s'] = {
+ // alignment: { vertical: 'center', horizontal: 'center' },
+ // fill: { fgColor: { rgb: bgConfig[key] }},
+ // border: {
+ // top: { style: 'thin', color: { theme: "1" } },
+ // bottom: { style: 'thin', color: { theme: "1" } },
+ // left: { style: 'thin', color: { theme: "1" } },
+ // right: { style: 'thin', color: { theme: "1" } }
+ // },
+ // font: {
+ // color: { rgb: fcObj[key] },
+ // size: fsObj[key],
+ // name: faObj[key],
+ // }
+ // }
+ // }
+ // }
+ // let name = 'sheet1';
+ // let tmpWB = {
+ // SheetNames: [name], //淇濆瓨鐨勮〃鏍囬
+ // Sheets: {
+ // [name]: Object.assign({},ws)//鍐呭
+ // }
+ // }
+ // let mergeConfig = sheet1.config.merge
+ // let mergeArr = [];
+ // if (JSON.stringify(mergeConfig) !== '{}') {
+ // mergeArr = handleMergeData(mergeConfig)
+ // console.log('mergeArr', mergeArr)
+ // tmpWB.Sheets[name]['!merges'] = mergeArr
+ // }
+ // //澶勭悊鍚堝苟鍗曞厓鏍糲onfig鏁版嵁
+ // function handleMergeData(origin) {銆�銆�let result = []
+ // if (origin instanceof Object) {
+ // var r = "r",
+ // c = "c",
+ // cs = "cs",
+ // rs = "rs";
+ // for (var key in origin) {
+ // var startR = origin[key][r];
+ // var endR = origin[key][r];
+ // var startC = origin[key][c];
+ // var endC = origin[key][c];
+ //
+ // // 濡傛灉鍙崰涓�琛� 涓�1 濡傛灉鍗犱袱琛� 涓�2
+ // if (origin[key][cs] > 0) {
+ // endC = startC + (origin[key][cs] - 1);
+ // }
+ // if (origin[key][rs] > 0) {
+ // endR = startR + (origin[key][rs] - 1);
+ // }
+ // // s涓哄悎骞跺崟鍏冩牸鐨勫紑濮嬪潗鏍� e涓虹粨鏉熷潗鏍�
+ // var obj = { s: { "r": startR, "c": startC }, e: { "r": endR, "c": endC } }
+ // result.push(obj)
+ // }
+ // }銆�銆�return result
+ // }
+ // 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;
+ // }
+ // }
+ // function saveAs(obj, fileName) {
+ // var tmpa = document.createElement("a");
+ // tmpa.download = fileName || "download";
+ // tmpa.href = URL.createObjectURL(obj);
+ // tmpa.click();
+ // setTimeout(function () {
+ // URL.revokeObjectURL(obj);
+ // }, 100);
+ // }
+ //
+ // ws = new Blob(
+ // [
+ // s2ab(
+ // XLSXS.write(tmpWB, { bookType: 'xlsx', bookSST: false, type: 'binary' })//杩欓噷鐨勬暟鎹槸鐢ㄦ潵瀹氫箟瀵煎嚭鐨勬牸寮忕被鍨�
+ // )
+ // ]
+ // )
+ // saveAs(ws, data.title + '.xlsx')
+ // },
isClose(done) {
this.$confirm('鏄惁闇�瑕佷繚瀛�?', "璀﹀憡", {
confirmButtonText: "纭畾",
--
Gitblit v1.9.3