Former-commit-id: dd4c302e448f871376ab1298240b44aa3d3e1643 [formerly dd4c302e448f871376ab1298240b44aa3d3e1643 [formerly dd4c302e448f871376ab1298240b44aa3d3e1643 [formerly dd4c302e448f871376ab1298240b44aa3d3e1643 [formerly 8bbdd72ba63cd9161b2b2e51826b8813e8c9fffc [formerly e7d3090ad5a6f6801b32d0abce9a4e9291fcc0e7]]]]] Former-commit-id: 1be4f8ac464528598b8a52649c107686d01c08d8 Former-commit-id: 7317640b0da3a039d8ca5b6457c1263fc1261272 Former-commit-id: 29d4f7df0be48866f4309a012d38e008e1725438 [formerly 9ee9681b4a3200cc3b344673e83d9f5e4343f07a] Former-commit-id: fddc0694f8fbf921142069e11ff694ea218fa0d9 Former-commit-id: 92059d07f780aa09aaff77faf9bc41a8bd6269f0 Former-commit-id: aef5ddaf56545324913a9b425e7f8b7c3ed45518 Former-commit-id: 279be73fde5a48ddc78a258a2ea55a3b0d64fe2b Former-commit-id: b970cb8f0bbe694a3bf733e726f8c833a1f3f511
149 lines
2.3 KiB
Markdown
149 lines
2.3 KiB
Markdown
# 表格导出
|
|
|
|
本框架集成了数据导出功能,并包装成插件
|
|
|
|
## 注册插件
|
|
|
|
``` js
|
|
import pluginExport from '@/plugin/export'
|
|
Vue.use(pluginExport)
|
|
```
|
|
|
|
之后就可以在组件中使用 `this.$export` 来调用导出功能
|
|
|
|
::: tip
|
|
d2admin 已经帮你注册好,可以直接使用,无需写上面的代码
|
|
:::
|
|
|
|
## 导出 csv
|
|
|
|
此方法将数据以 `csv` 格式导出,并且返回一个 `Promise` 对象
|
|
|
|
使用
|
|
|
|
``` js
|
|
this.$export.csv({
|
|
columns,
|
|
data
|
|
})
|
|
.then(() => {
|
|
// ...可选回调
|
|
})
|
|
```
|
|
|
|
参数
|
|
|
|
| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| columns | 列 | 非 | Array | | 空数组 |
|
|
| data | 行数据 | 非 | Array | | 空数组 |
|
|
| title | 文件名 | 非 | String | | table |
|
|
| noHeader | 不导出表头 | 非 | Boolean | | false |
|
|
| separator | 数据分隔符 | 非 | String | | , |
|
|
| quoted | 每项数据是否加引号 | 非 | Boolean | | false |
|
|
|
|
示例
|
|
|
|
``` js
|
|
const columns = [
|
|
{
|
|
label: '姓名',
|
|
prop: 'name'
|
|
},
|
|
{
|
|
label: '年龄',
|
|
prop: 'age'
|
|
}
|
|
]
|
|
const data = [
|
|
{
|
|
name: 'lucy',
|
|
age: 24
|
|
},
|
|
{
|
|
name: 'bob',
|
|
age: 26
|
|
}
|
|
]
|
|
this.$export.csv({
|
|
columns,
|
|
data
|
|
})
|
|
```
|
|
|
|
## 导出 xlsx
|
|
|
|
此方法将数据以 `xlsx` 格式导出,并且返回一个 `Promise` 对象
|
|
|
|
使用
|
|
|
|
``` js
|
|
this.$export.excel({
|
|
columns,
|
|
data
|
|
})
|
|
.then(() => {
|
|
// ...可选回调
|
|
})
|
|
```
|
|
|
|
参数
|
|
|
|
| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| columns | 列 | 非 | Array | | 空数组 |
|
|
| data | 行数据 | 非 | Array | | 空数组 |
|
|
| title | 文件名 | 非 | String | | table |
|
|
|
|
示例
|
|
|
|
``` js
|
|
const columns = [
|
|
{
|
|
label: '姓名',
|
|
prop: 'name'
|
|
},
|
|
{
|
|
label: '年龄',
|
|
prop: 'age'
|
|
}
|
|
]
|
|
const data = [
|
|
{
|
|
name: 'lucy',
|
|
age: 24
|
|
},
|
|
{
|
|
name: 'bob',
|
|
age: 26
|
|
}
|
|
]
|
|
this.$export.excel({
|
|
columns,
|
|
data
|
|
})
|
|
```
|
|
|
|
## 导出 txt
|
|
|
|
此方法将数据以 `txt` 格式导出,并且返回一个 `Promise` 对象
|
|
|
|
使用
|
|
|
|
``` js
|
|
this.$export.txt({
|
|
text: '文本内容',
|
|
title: '文件名'
|
|
})
|
|
.then(() => {
|
|
// ...可选回调
|
|
})
|
|
```
|
|
|
|
参数
|
|
|
|
| 参数名 | 介绍 | 必选 | 值类型 | 可选值 | 默认值 |
|
|
| --- | --- | --- | --- | --- | --- |
|
|
| text | 文件内容 | 非 | String | | 空 |
|
|
| title | 文件名 | 非 | String | | 文本 |
|