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