@@ -18,12 +18,31 @@ S2 会在复制的时候往剪贴板写入两种类型的元数据
18
18
粘贴的时候,取决于` 接收方选择什么类型的数据 ` ,对于富文本一般来说接收的是 ` text/html ` , 对于 Excel 之类的就是 ` text/plain ` , 即带制表符 ` \t ` 的纯文本,支持自定义修改。
19
19
:::
20
20
21
- 内置是三个 API, 详见 [ 下方文档] ( #api )
21
+ 内置三个 API, 详见 [ 下方文档] ( #api )
22
22
23
23
- ` asyncGetAllData `
24
24
- ` asyncGetAllPlainData `
25
25
- ` asyncGetAllHtmlData `
26
26
27
+ ``` ts {10-13}
28
+ const s2DataConfig = {
29
+ fields: {
30
+ rows: [' province' , ' city' ],
31
+ columns: [' type' , ' sub_type' ],
32
+ values: [' number' ],
33
+ },
34
+ meta: [
35
+ {
36
+ field: ' number' ,
37
+ name: ' 数量' ,
38
+ formatter : (value , record , meta ) => {
39
+ return ` ${value / 100 } % `
40
+ }
41
+ },
42
+ ]
43
+ }
44
+ ```
45
+
27
46
#### 1.1 在 ` @antv/s2 ` 中使用
28
47
29
48
``` ts | pure
@@ -66,11 +85,24 @@ copyToClipboard(data)
66
85
67
86
##### 1.2.1 原始数据全量复制
68
87
69
- <img alt =" originFullCopy " src =" https://gw.alipayobjects.com/mdn/rms_56cbb2/afts/img/A*pfSsTrvuJ0UAAAAAAAAAAAAAARQnAQ " width =" 1000 " />
88
+ <img alt =" originFullCopy " src =" https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*lh52Q69eTSwAAAAAAAAAAAAAemJ7AQ/original " width =" 1000 " />
89
+
90
+ 对应 ` @antv/s2 ` 工具方法:
91
+
92
+ ``` ts {4-7}
93
+ const data = await asyncGetAllData ({
94
+ sheetInstance: s2 ,
95
+ split: ' \t ' ,
96
+ formatOptions: {
97
+ formatHeader: false ,
98
+ formatData: false
99
+ },
100
+ });
101
+ ```
70
102
71
103
##### 1.2.2 格式化数据全量复制
72
104
73
- 如果配置了 [ ` S2DataConfig.meta ` ] ( /api/general/s2-data-config#meta ) 对数据有 [ 格式化处理] ( /manual/basic/formatter ) , 那么可以开启 ` withFormat ` , 这样复制时会拿到格式化之后的数据。
105
+ 如果配置了 [ ` S2DataConfig.meta ` ] ( /api/general/s2-data-config#meta ) 对数据有 [ 格式化处理] ( /manual/basic/formatter ) , 即 ` s2DataConfig.meta ` 中的 ` name ` 和 ` formatter ` , 那么可以开启 ` withFormat ` , 这样复制时会拿到格式化之后的数据。
74
106
75
107
``` ts
76
108
const s2Options = {
@@ -87,7 +119,20 @@ const s2Options = {
87
119
}
88
120
```
89
121
90
- <img alt =" formatFullCopy " src =" https://gw.alipayobjects.com/mdn/rms_56cbb2/afts/img/A*mLSdTrAWZrwAAAAAAAAAAAAAARQnAQ " width =" 1000 " />
122
+ <img alt =" formatFullCopy " src =" https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*AGkpQLhWo0AAAAAAAAAAAAAAemJ7AQ/original " width =" 1000 " />
123
+
124
+ 对应 ` @antv/s2 ` 工具方法:
125
+
126
+ ``` ts {4-7}
127
+ const data = await asyncGetAllData ({
128
+ sheetInstance: s2 ,
129
+ split: ' \t ' ,
130
+ formatOptions: {
131
+ formatHeader: true ,
132
+ formatData: true
133
+ },
134
+ });
135
+ ```
91
136
92
137
### 2. 局部复制
93
138
0 commit comments