|
@@ -3,27 +3,47 @@ import { round, toDegrees } from "./";
|
|
|
import { saveAs } from "./file-serve";
|
|
|
|
|
|
const genXLSLByTemp = (data: ArrayBuffer, tabs: any[][], name: string) => {
|
|
|
- const workbook = XLSX.read(data);
|
|
|
+ const workbook = XLSX.read(data, {
|
|
|
+ type: "binary",
|
|
|
+ cellStyles: true,
|
|
|
+
|
|
|
+ cellNF: true,
|
|
|
+ cellDates: true,
|
|
|
+ sheetStubs: true,
|
|
|
+ raw: true,
|
|
|
+ bookDeps: true,
|
|
|
+ bookVBA: true,
|
|
|
+ // bookProps: true,
|
|
|
+ // bookSheets: true,
|
|
|
+ WTF: true,
|
|
|
+ PRN: true,
|
|
|
+ xlfn: true,
|
|
|
+ });
|
|
|
const sheetName = workbook.SheetNames[0];
|
|
|
const worksheet = workbook.Sheets[sheetName];
|
|
|
- XLSX.utils.sheet_add_aoa(worksheet, tabs, { origin: "A2" });
|
|
|
|
|
|
- const wbout = XLSX.write(workbook, {
|
|
|
- // 要生成的文件类型
|
|
|
- bookType: "xlsx",
|
|
|
- type: "binary",
|
|
|
- });
|
|
|
+ console.log(worksheet);
|
|
|
+ XLSX.utils.sheet_add_aoa(worksheet, tabs, { origin: "A2" });
|
|
|
+ const wbout = XLSX.writeFile(workbook, `${name}.xlsx`);
|
|
|
+ // const wbout = URL.createObjectURL(new Blob([data]));
|
|
|
+ // const wbout = XLSX.write(workbook, {
|
|
|
+ // // 要生成的文件类型
|
|
|
+ // bookType: "xlsx",
|
|
|
+ // type: "binary",
|
|
|
+ // });
|
|
|
// 将字符串转ArrayBuffer
|
|
|
- function s2ab(s: string) {
|
|
|
- const buf = new ArrayBuffer(s.length);
|
|
|
- const view = new Uint8Array(buf);
|
|
|
- for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xff;
|
|
|
- return buf;
|
|
|
- }
|
|
|
- const blob = new Blob([s2ab(wbout)], {
|
|
|
- type: "application/octet-stream",
|
|
|
- });
|
|
|
- return saveAs(blob, `${name}.xls`);
|
|
|
+
|
|
|
+ // console.log(wbout);
|
|
|
+ // function s2ab(s: string) {
|
|
|
+ // const buf = new ArrayBuffer(s.length);
|
|
|
+ // const view = new Uint8Array(buf);
|
|
|
+ // for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xff;
|
|
|
+ // return buf;
|
|
|
+ // }
|
|
|
+ // const blob = new Blob([s2ab(wbout)], {
|
|
|
+ // type: "application/octet-stream",
|
|
|
+ // });
|
|
|
+ return saveAs(wbout, `${name}.xls`);
|
|
|
};
|
|
|
|
|
|
export const downloadPointsXLSL1 = async (
|
|
@@ -51,14 +71,14 @@ export const downloadPointsXLSL2 = async (
|
|
|
const tabs = points.map((point, i) => {
|
|
|
const des = desc[i] || { title: "无", desc: "无" };
|
|
|
return [
|
|
|
- toDegrees(point[1], 4),
|
|
|
- toDegrees(point[0], 4),
|
|
|
- round(point[2], 4),
|
|
|
+ { v: toDegrees(point[1], 4), t: "s", z: "@" },
|
|
|
+ { v: toDegrees(point[0], 4), t: "s", z: "@" },
|
|
|
+ { v: round(point[2], 4), t: "s", z: "@" },
|
|
|
des.title,
|
|
|
des.desc,
|
|
|
- ].map((i) => i.toString());
|
|
|
+ ];
|
|
|
});
|
|
|
-
|
|
|
+ console.log("data", tabs);
|
|
|
await genXLSLByTemp(temp, tabs, name);
|
|
|
};
|
|
|
|