From d91053e5cbe7fac6deee994c22c0529fd1b08755 Mon Sep 17 00:00:00 2001 From: WX <1377869194@qq.com> Date: 星期五, 15 九月 2023 15:47:08 +0800 Subject: [PATCH] 标绘查询 --- src/utils/downloadCSV.js | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 160 insertions(+), 1 deletions(-) diff --git a/src/utils/downloadCSV.js b/src/utils/downloadCSV.js index 7326ce6..1fb4a19 100644 --- a/src/utils/downloadCSV.js +++ b/src/utils/downloadCSV.js @@ -21,7 +21,6 @@ // XLSXS.utils.book_append_sheet(wb, ws, "Sheet1"); // XLSXS.writeFile(wb, "data-region.xlsx"); //============================================================================ - console.log(data, name, merges); // data鏄偣鍑诲鍑烘寜閽紶閫掕繃鏉ヨ瀵煎嚭鐨勬暟鎹紝name鏄鍑虹殑鏂囦欢鍚嶏紝merges鏄悎骞剁殑鍗曞厓鏍� // 灏嗘暟鎹簮杞垚鎴戜滑闇�瑕佺殑浜岀淮鏁扮粍锛屽簭鍙枫�佸鍚嶈繖浜涙槸琛ㄦ牸鐨勮〃澶� const body = data.map((x) => [ @@ -221,3 +220,163 @@ XLSXS.utils.book_append_sheet(workbook, sheet); // 鍚� workbook 涓坊鍔� sheet XLSXS.writeFile(workbook, "data-region" + ".xlsx"); // 瀵煎嚭 workbook } +export function saveFSDZJsonToExcelLine(data) { + // const data = [ + // { 濮撳悕: "寮犱笁", 骞撮緞: 18, 鎬у埆: "鐢�" }, + // { 濮撳悕: "鏉庡洓", 骞撮緞: 20, 鎬у埆: "濂�" }, + // { 濮撳悕: "鐜嬩簲", 骞撮緞: 22, 鎬у埆: "鐢�" }, + // ]; + // const wb = XLSX.utils.book_new(); + // const ws = XLSX.utils.json_to_sheet(data); + // ws["!cols"] = [ + // { + // wpx: 150, + // }, + // { + // wpx: 500, + // }, + // { + // wpx: 100, + // }, + // ]; + // XLSXS.utils.book_append_sheet(wb, ws, "Sheet1"); + // XLSXS.writeFile(wb, "data-region.xlsx"); + //============================================================================ + // data鏄偣鍑诲鍑烘寜閽紶閫掕繃鏉ヨ瀵煎嚭鐨勬暟鎹紝name鏄鍑虹殑鏂囦欢鍚嶏紝merges鏄悎骞剁殑鍗曞厓鏍� + // 灏嗘暟鎹簮杞垚鎴戜滑闇�瑕佺殑浜岀淮鏁扮粍锛屽簭鍙枫�佸鍚嶈繖浜涙槸琛ㄦ牸鐨勮〃澶� + const body = data.map((x) => [ + x["layerName"], + x["values"], + x["lon"], + x["lat"], + ]); + const header = [ + // 杩欎釜鏄缃甧xcel琛ㄦ牸鐨勬爣棰橈紝鍗冲湪A1鍗曞厓鏍肩殑鏍囬 + [ + { + v: ``, + t: "s", // 鎸囧畾鏍囬鐨勬牱寮� + }, + ], + // 杩欐槸瀵瑰簲body甯搁噺鐨勮〃澶� + ["layerName", "values", "lon", "lat"], + ]; + body.unshift(...header); // 灏嗗畾涔夊ソ鐨勮〃澶存坊鍔犲埌 body 涓� + const sheet = XLSXS.utils.aoa_to_sheet(body); // aoa_to_sheet 灏嗕簩缁存暟缁勮浆鎴� sheet + // 姝ゅ寮�濮嬪悎骞跺垪锛屽嵆鐩稿悓鍚嶅瓧鐨勮〃鏍煎悎骞跺崟鍏冩牸 + let includeB = []; + let includesBnumber = []; + + // 璁剧疆鍒楀 + const cols = [{ wch: 100 }, { wch: 15 }, { wch: 12 }, { wch: 12 }]; + sheet["!cols"] = cols; // 灏哻ols娣诲姞鍒皊heet涓� + // const rows = [{ hpx: 20 }, { hpx: 16 }, { hpx: 18 }]; + // sheet["!rows"] = rows; // 灏唕ows娣诲姞鍒皊heet涓紝璁剧疆琛岄珮 + Object.keys(sheet).forEach((key, i) => { + // 璁剧疆鍗曞厓鏍兼牱寮� + if (key.indexOf("!") < 0) { + if (key == "A1") { + // 璁剧疆鏍囬 + sheet[key].s = { + alignment: { + horizontal: "center", //姘村钩灞呬腑 + vertical: "center", //绔栫洿灞呬腑 + }, + font: { + bold: true, + // sz: 14, + // name: "瀹嬩綋", + }, + }; + } else if ( + key == "A2" || + key == "B2" || + key == "C2" || + key == "D2" || + key == "E2" || + key == "F2" || + key == "G2" || + key == "H2" || + key == "I2" + ) { + // 璁剧疆琛ㄥご + sheet[key].s = { + fill: { + fgColor: { rgb: "A6A6A6" }, + }, + border: { + top: { style: "thin" }, + left: { style: "thin" }, + bottom: { style: "thin" }, + right: { style: "thin" }, + }, + font: { + bold: true, + // sz: 12, + // name: "瀹嬩綋", + }, + }; + } else { + if (key.includes("A")) { + // 搴忓垪鎵�鍦ㄥ垪 + if (typeof sheet[key].v == "number") { + // 鍒楄〃鍒楄姹傚簭鍙疯灞呬腑锛屽悎璁″拰鎬诲悎璁″眳宸�(搴旇鏄郴缁熼粯璁ょ殑锛屽鏋滆璁剧疆灞呭乏鎴栧眳鍙筹紝涔熷彲浠ヨ嚜宸辫缃笅alignment灞炴��) + sheet[key].s = { + alignment: { + horizontal: "center", + vertical: "center", + }, + border: { + top: { style: "thin" }, + left: { style: "thin" }, + bottom: { style: "thin" }, + right: { style: "thin" }, + }, + }; + } else { + sheet[key].s = { + border: { + top: { style: "thin" }, + left: { style: "thin" }, + bottom: { style: "thin" }, + right: { style: "thin" }, + }, + }; + } + } else { + sheet[key].s = { + border: { + top: { style: "thin" }, + left: { style: "thin" }, + bottom: { style: "thin" }, + right: { style: "thin" }, + }, + alignment: { + horizontal: "left", + vertical: "center", + }, + }; + } + } + } + }); + // 璁剧疆缁撳熬鐨勮〃鏍� + // let sheetBorder = sheet["!ref"].substring(4); // 鍥犱负瀵煎嚭鐨勫崟鍏冩牸琛屾暟涓嶇‘瀹氾紝鎵�浠ユ嬁鍒版渶鍚庝竴琛岀殑鏁板瓧 + // let endSheetBorder = ["C", "D", "E", "F", "G", "H"]; //鍥犱负鏈�鍚庝竴琛岀殑鍚堝苟鐨勫垪鏄竴鏍风殑锛屾墍浠ヨ繖閲屽彲浠ョ洿鎺ュ皢鍒楃殑鍗曞厓鏍煎簭鍙峰啓涓畾鍊� + // endSheetBorder.forEach((e) => { + // let addBorder = e + sheetBorder; + // sheet[addBorder] = { + // v: "", + // t: "s", + // s: { + // border: { + // top: { style: "thin" }, + // bottom: { style: "thin" }, + // }, + // }, + // }; + // }); + const workbook = XLSXS.utils.book_new(); // 鍒涘缓铏氭嫙鐨� workbook + XLSXS.utils.book_append_sheet(workbook, sheet); // 鍚� workbook 涓坊鍔� sheet + XLSXS.writeFile(workbook, "data-region" + ".xlsx"); // 瀵煎嚭 workbook +} -- Gitblit v1.9.3