@canvas-components/utils 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +159 -141
- package/dist/export/index.cjs +364 -41
- package/dist/export/index.cjs.map +1 -1
- package/dist/export/index.d.cts +37 -10
- package/dist/export/index.d.ts +37 -10
- package/dist/export/index.js +364 -41
- package/dist/export/index.js.map +1 -1
- package/dist/index.cjs +366 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +366 -41
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/export/index.d.cts
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
/** XLSX 导出阶段;编码阶段无法提供准确的百分比。 */
|
|
2
|
+
interface XlsxExportProgress {
|
|
3
|
+
phase: "preparing" | "encoding" | "saving" | "done";
|
|
4
|
+
completedRows: number;
|
|
5
|
+
totalRows: number;
|
|
6
|
+
worker: boolean;
|
|
7
|
+
fileIndex?: number;
|
|
8
|
+
fileCount?: number;
|
|
9
|
+
}
|
|
10
|
+
/** XLSX 异步导出控制选项。 */
|
|
11
|
+
interface XlsxExportOptions {
|
|
12
|
+
/** 默认 auto:一万行起尝试 Worker;true 强制尝试,false 使用主线程。 */
|
|
13
|
+
worker?: boolean | "auto";
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
onProgress?: (progress: XlsxExportProgress) => void;
|
|
16
|
+
/** 每份文件的数据行上限(含汇总尾行,不含表头),默认且最多 100000。 */
|
|
17
|
+
maxRowsPerFile?: number;
|
|
18
|
+
/** 每份文件的单元格预算(含表头),默认且最多 2000020,可容纳二十列、十万行。 */
|
|
19
|
+
maxCellsPerFile?: number;
|
|
20
|
+
/** 可接管文件保存;等待返回后才生成下一份,不应长期保留所有 Blob。 */
|
|
21
|
+
saveFile?: (file: Blob, fileName: string, part: {
|
|
22
|
+
fileIndex: number;
|
|
23
|
+
fileCount: number;
|
|
24
|
+
}) => void | Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
/** 表格导出参数,汇总尾行不需要包装或复制整个数据源。 */
|
|
27
|
+
interface XlsxExportParams<Row> extends XlsxExportOptions {
|
|
28
|
+
fileName: string;
|
|
29
|
+
rows: Row[];
|
|
30
|
+
columns: ExportTableColumn<Row>[];
|
|
31
|
+
sheetName?: string;
|
|
32
|
+
footerRows?: unknown[][];
|
|
33
|
+
}
|
|
34
|
+
/** 按行数和列数双重限制自动分文件,逐份生成、保存并释放。 */
|
|
35
|
+
declare function exportTableToXlsx<Row>(params: XlsxExportParams<Row>): Promise<void>;
|
|
36
|
+
|
|
1
37
|
interface ExportTableColumn<Row> {
|
|
2
38
|
key: string;
|
|
3
39
|
title: string;
|
|
@@ -52,14 +88,5 @@ declare function exportTableToTxt<Row>(params: {
|
|
|
52
88
|
rows: Row[];
|
|
53
89
|
columns: ExportTableColumn<Row>[];
|
|
54
90
|
}): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* 导出表格 XLSX 文件。
|
|
57
|
-
*/
|
|
58
|
-
declare function exportTableToXlsx<Row>(params: {
|
|
59
|
-
fileName: string;
|
|
60
|
-
rows: Row[];
|
|
61
|
-
columns: ExportTableColumn<Row>[];
|
|
62
|
-
sheetName?: string;
|
|
63
|
-
}): Promise<void>;
|
|
64
91
|
|
|
65
|
-
export { type ExportTableColumn, buildCsvContent, buildTxtContent, downloadJsonFile, exportTableToCsv, exportTableToTxt, exportTableToXlsx, mapRowsToExportRecords, serializeCsvRows };
|
|
92
|
+
export { type ExportTableColumn, type XlsxExportOptions, type XlsxExportParams, type XlsxExportProgress, buildCsvContent, buildTxtContent, downloadJsonFile, exportTableToCsv, exportTableToTxt, exportTableToXlsx, mapRowsToExportRecords, serializeCsvRows };
|
package/dist/export/index.d.ts
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
/** XLSX 导出阶段;编码阶段无法提供准确的百分比。 */
|
|
2
|
+
interface XlsxExportProgress {
|
|
3
|
+
phase: "preparing" | "encoding" | "saving" | "done";
|
|
4
|
+
completedRows: number;
|
|
5
|
+
totalRows: number;
|
|
6
|
+
worker: boolean;
|
|
7
|
+
fileIndex?: number;
|
|
8
|
+
fileCount?: number;
|
|
9
|
+
}
|
|
10
|
+
/** XLSX 异步导出控制选项。 */
|
|
11
|
+
interface XlsxExportOptions {
|
|
12
|
+
/** 默认 auto:一万行起尝试 Worker;true 强制尝试,false 使用主线程。 */
|
|
13
|
+
worker?: boolean | "auto";
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
onProgress?: (progress: XlsxExportProgress) => void;
|
|
16
|
+
/** 每份文件的数据行上限(含汇总尾行,不含表头),默认且最多 100000。 */
|
|
17
|
+
maxRowsPerFile?: number;
|
|
18
|
+
/** 每份文件的单元格预算(含表头),默认且最多 2000020,可容纳二十列、十万行。 */
|
|
19
|
+
maxCellsPerFile?: number;
|
|
20
|
+
/** 可接管文件保存;等待返回后才生成下一份,不应长期保留所有 Blob。 */
|
|
21
|
+
saveFile?: (file: Blob, fileName: string, part: {
|
|
22
|
+
fileIndex: number;
|
|
23
|
+
fileCount: number;
|
|
24
|
+
}) => void | Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
/** 表格导出参数,汇总尾行不需要包装或复制整个数据源。 */
|
|
27
|
+
interface XlsxExportParams<Row> extends XlsxExportOptions {
|
|
28
|
+
fileName: string;
|
|
29
|
+
rows: Row[];
|
|
30
|
+
columns: ExportTableColumn<Row>[];
|
|
31
|
+
sheetName?: string;
|
|
32
|
+
footerRows?: unknown[][];
|
|
33
|
+
}
|
|
34
|
+
/** 按行数和列数双重限制自动分文件,逐份生成、保存并释放。 */
|
|
35
|
+
declare function exportTableToXlsx<Row>(params: XlsxExportParams<Row>): Promise<void>;
|
|
36
|
+
|
|
1
37
|
interface ExportTableColumn<Row> {
|
|
2
38
|
key: string;
|
|
3
39
|
title: string;
|
|
@@ -52,14 +88,5 @@ declare function exportTableToTxt<Row>(params: {
|
|
|
52
88
|
rows: Row[];
|
|
53
89
|
columns: ExportTableColumn<Row>[];
|
|
54
90
|
}): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* 导出表格 XLSX 文件。
|
|
57
|
-
*/
|
|
58
|
-
declare function exportTableToXlsx<Row>(params: {
|
|
59
|
-
fileName: string;
|
|
60
|
-
rows: Row[];
|
|
61
|
-
columns: ExportTableColumn<Row>[];
|
|
62
|
-
sheetName?: string;
|
|
63
|
-
}): Promise<void>;
|
|
64
91
|
|
|
65
|
-
export { type ExportTableColumn, buildCsvContent, buildTxtContent, downloadJsonFile, exportTableToCsv, exportTableToTxt, exportTableToXlsx, mapRowsToExportRecords, serializeCsvRows };
|
|
92
|
+
export { type ExportTableColumn, type XlsxExportOptions, type XlsxExportParams, type XlsxExportProgress, buildCsvContent, buildTxtContent, downloadJsonFile, exportTableToCsv, exportTableToTxt, exportTableToXlsx, mapRowsToExportRecords, serializeCsvRows };
|