Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
a207cafe
提交
a207cafe
authored
10月 19, 2020
作者:
jq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(excel): update excel demo
上级
7101587b
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
154 行增加
和
73 行删除
+154
-73
ExportExcelModel.vue
src/components/Excel/src/ExportExcelModel.vue
+2
-1
charts.ts
src/router/menus/modules/demo/charts.ts
+22
-0
comp.ts
src/router/menus/modules/demo/comp.ts
+0
-14
charts.ts
src/router/routes/modules/demo/charts.ts
+42
-0
comp.ts
src/router/routes/modules/demo/comp.ts
+0
-26
ArrayExport.vue
src/views/demo/echarts/excel/ArrayExport.vue
+36
-0
CustomExport.vue
src/views/demo/echarts/excel/CustomExport.vue
+43
-0
ImportExcel.vue
src/views/demo/echarts/excel/ImportExcel.vue
+1
-1
JsonExport.vue
src/views/demo/echarts/excel/JsonExport.vue
+8
-31
data.ts
src/views/demo/echarts/excel/data.ts
+0
-0
没有找到文件。
src/components/Excel/src/ExportExcelModel.vue
浏览文件 @
a207cafe
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
import
{
defineComponent
}
from
'vue'
;
import
{
defineComponent
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'/@/components/Modal'
;
import
{
BasicModal
,
useModalInner
}
from
'/@/components/Modal'
;
import
{
BasicForm
,
FormSchema
,
useForm
}
from
'/@/components/Form/index'
;
import
{
BasicForm
,
FormSchema
,
useForm
}
from
'/@/components/Form/index'
;
import
{
ExportModalResult
}
from
'./types'
;
const
schemas
:
FormSchema
[]
=
[
const
schemas
:
FormSchema
[]
=
[
{
{
...
@@ -59,7 +60,7 @@
...
@@ -59,7 +60,7 @@
const
[
registerModal
,
{
closeModal
}]
=
useModalInner
();
const
[
registerModal
,
{
closeModal
}]
=
useModalInner
();
async
function
handleOk
()
{
async
function
handleOk
()
{
const
res
=
await
validateFields
();
const
res
:
ExportModalResult
=
await
validateFields
();
const
{
filename
,
bookType
}
=
res
;
const
{
filename
,
bookType
}
=
res
;
emit
(
'success'
,
{
emit
(
'success'
,
{
...
...
src/router/menus/modules/demo/charts.ts
浏览文件 @
a207cafe
...
@@ -27,6 +27,28 @@ const menu: MenuModule = {
...
@@ -27,6 +27,28 @@ const menu: MenuModule = {
},
},
],
],
},
},
// {
// path: '/excel',
// name: 'excel',
// children: [
{
path
:
'/customExport'
,
name
:
'选择导出格式'
,
},
{
path
:
'/jsonExport'
,
name
:
'JSON数据导出'
,
},
{
path
:
'/arrayExport'
,
name
:
'Array数据导出'
,
},
{
path
:
'/importExcel'
,
name
:
'导入'
,
},
// ],
// },
],
],
},
},
};
};
...
...
src/router/menus/modules/demo/comp.ts
浏览文件 @
a207cafe
...
@@ -66,20 +66,6 @@ const menu: MenuModule = {
...
@@ -66,20 +66,6 @@ const menu: MenuModule = {
path
:
'/strength-meter'
,
path
:
'/strength-meter'
,
name
:
'密码强度组件'
,
name
:
'密码强度组件'
,
},
},
{
path
:
'/excel'
,
name
:
'excel'
,
children
:
[
{
path
:
'/export'
,
name
:
'Export'
,
},
{
path
:
'/import'
,
name
:
'Import'
,
},
],
},
],
],
},
},
};
};
...
...
src/router/routes/modules/demo/charts.ts
浏览文件 @
a207cafe
...
@@ -56,5 +56,47 @@ export default {
...
@@ -56,5 +56,47 @@ export default {
},
},
component
:
()
=>
import
(
'/@/views/demo/echarts/apex/index.vue'
),
component
:
()
=>
import
(
'/@/views/demo/echarts/apex/index.vue'
),
},
},
// {
// path: '/excel',
// name: 'ExcelDemo',
// redirect: '/charts/excel/export',
// meta: {
// title: 'excel',
// },
// children: [
{
path
:
'/customExport'
,
name
:
'CustomExport'
,
component
:
()
=>
import
(
'/@/views/demo/echarts/excel/CustomExport.vue'
),
meta
:
{
title
:
'选择导出格式'
,
},
},
{
path
:
'/jsonExport'
,
name
:
'JsonExport'
,
component
:
()
=>
import
(
'/@/views/demo/echarts/excel/JsonExport.vue'
),
meta
:
{
title
:
'JSON数据导出'
,
},
},
{
path
:
'/arrayExport'
,
name
:
'ArrayExport'
,
component
:
()
=>
import
(
'/@/views/demo/echarts/excel/ArrayExport.vue'
),
meta
:
{
title
:
'Array数据导出'
,
},
},
{
path
:
'/importExcel'
,
name
:
'ImportExcel'
,
component
:
()
=>
import
(
'/@/views/demo/echarts/excel/ImportExcel.vue'
),
meta
:
{
title
:
'导入'
,
},
},
// ],
// },
],
],
}
as
AppRouteModule
;
}
as
AppRouteModule
;
src/router/routes/modules/demo/comp.ts
浏览文件 @
a207cafe
...
@@ -136,31 +136,5 @@ export default {
...
@@ -136,31 +136,5 @@ export default {
title
:
'密码强度组件'
,
title
:
'密码强度组件'
,
},
},
},
},
{
path
:
'/excel'
,
name
:
'ExcelDemo'
,
redirect
:
'/comp/excel/export'
,
meta
:
{
title
:
'excel'
,
},
children
:
[
{
path
:
'export'
,
name
:
'Export2Excel'
,
component
:
()
=>
import
(
'/@/views/demo/comp/excel/ExportToExcel.vue'
),
meta
:
{
title
:
'Export2Excel'
,
},
},
{
path
:
'import'
,
name
:
'ImportExcel'
,
component
:
()
=>
import
(
'/@/views/demo/comp/excel/ImportExcel.vue'
),
meta
:
{
title
:
'ImportExcel'
,
},
},
],
},
],
],
}
as
AppRouteModule
;
}
as
AppRouteModule
;
src/views/demo/echarts/excel/ArrayExport.vue
0 → 100644
浏览文件 @
a207cafe
<
template
>
<div
class=
"m-4"
>
<BasicTable
title=
"基础表格"
:columns=
"columns"
:dataSource=
"data"
>
<template
#
toolbar
>
<a-button
@
click=
"aoaToExcel"
>
导出
</a-button>
</
template
>
</BasicTable>
</div>
</template>
<
script
lang=
"ts"
>
import
{
defineComponent
}
from
'vue'
;
import
{
BasicTable
}
from
'/@/components/Table'
;
import
{
aoaToSheetXlsx
,
ExportExcelModel
}
from
'/@/components/Excel'
;
import
{
arrHeader
,
arrData
,
columns
,
data
}
from
'./data'
;
export
default
defineComponent
({
components
:
{
BasicTable
,
ExportExcelModel
},
setup
()
{
function
aoaToExcel
()
{
// 保证data顺序与header一致
aoaToSheetXlsx
({
data
:
arrData
,
header
:
arrHeader
,
filename
:
'二维数组方式导出excel.xlsx'
,
});
}
return
{
aoaToExcel
,
columns
,
data
,
};
},
});
</
script
>
src/views/demo/echarts/excel/CustomExport.vue
0 → 100644
浏览文件 @
a207cafe
<
template
>
<div
class=
"m-4"
>
<BasicTable
title=
"基础表格"
:columns=
"columns"
:dataSource=
"data"
>
<template
#
toolbar
>
<a-button
@
click=
"openModal"
>
导出
</a-button>
</
template
>
</BasicTable>
<ExportExcelModel
@
register=
"register"
@
success=
"defaultHeader"
/>
</div>
</template>
<
script
lang=
"ts"
>
import
{
defineComponent
}
from
'vue'
;
import
{
BasicTable
}
from
'/@/components/Table'
;
import
{
jsonToSheetXlsx
,
ExportExcelModel
,
ExportModalResult
}
from
'/@/components/Excel'
;
import
{
columns
,
data
}
from
'./data'
;
import
{
useModal
}
from
'/@/components/Modal'
;
export
default
defineComponent
({
components
:
{
BasicTable
,
ExportExcelModel
},
setup
()
{
function
defaultHeader
({
filename
,
bookType
}:
ExportModalResult
)
{
// 默认Object.keys(data[0])作为header
jsonToSheetXlsx
({
data
,
filename
,
write2excelOpts
:
{
bookType
,
},
});
}
const
[
register
,
{
openModal
}]
=
useModal
();
return
{
defaultHeader
,
columns
,
data
,
register
,
openModal
,
};
},
});
</
script
>
src/views/demo/
comp
/excel/ImportExcel.vue
→
src/views/demo/
echarts
/excel/ImportExcel.vue
浏览文件 @
a207cafe
<
template
>
<
template
>
<div>
<div
class=
"m-4"
>
<ImportExcel
@
success=
"loadDataSuccess"
>
<ImportExcel
@
success=
"loadDataSuccess"
>
<a-button
class=
"m-3"
>
导入Excel
</a-button>
<a-button
class=
"m-3"
>
导入Excel
</a-button>
</ImportExcel>
</ImportExcel>
...
...
src/views/demo/
comp/excel/ExportToExcel
.vue
→
src/views/demo/
echarts/excel/JsonExport
.vue
浏览文件 @
a207cafe
<
template
>
<
template
>
<div>
<div
class=
"m-4"
>
<BasicTable
title=
"基础表格"
:columns=
"columns"
:dataSource=
"data"
>
<BasicTable
title=
"基础表格"
:columns=
"columns"
:dataSource=
"data"
>
<template
#
toolbar
>
<template
#
toolbar
>
<a-button
@
click=
"openModal"
>
JSON格式导出:默认头部
</a-button>
<a-button
@
click=
"defaultHeader"
>
导出:默认头部
</a-button>
<a-button
@
click=
"customHeader"
>
JSON格式导出:自定义头部
</a-button>
<a-button
@
click=
"customHeader"
>
导出:自定义头部
</a-button>
<a-button
@
click=
"aoaToExcel"
>
二维数组格式导出
</a-button>
</
template
>
</
template
>
</BasicTable>
</BasicTable>
<ExportExcelModel
@
register=
"register"
@
success=
"defaultHeader"
/>
</div>
</div>
</template>
</template>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
import
{
defineComponent
}
from
'vue'
;
import
{
defineComponent
}
from
'vue'
;
import
{
BasicTable
}
from
'/@/components/Table'
;
import
{
BasicTable
}
from
'/@/components/Table'
;
import
{
import
{
jsonToSheetXlsx
,
ExportExcelModel
}
from
'/@/components/Excel'
;
jsonToSheetXlsx
,
import
{
columns
,
data
}
from
'./data'
;
aoaToSheetXlsx
,
ExportExcelModel
,
ExportModalResult
,
}
from
'/@/components/Excel'
;
import
{
columns
,
data
,
arrHeader
,
arrData
}
from
'./data'
;
import
{
useModal
}
from
'/@/components/Modal'
;
export
default
defineComponent
({
export
default
defineComponent
({
components
:
{
BasicTable
,
ExportExcelModel
},
components
:
{
BasicTable
,
ExportExcelModel
},
setup
()
{
setup
()
{
function
defaultHeader
(
{
filename
,
bookType
}:
ExportModalResult
)
{
function
defaultHeader
()
{
// 默认Object.keys(data[0])作为header
// 默认Object.keys(data[0])作为header
jsonToSheetXlsx
({
jsonToSheetXlsx
({
data
,
data
,
filename
,
filename
:
'使用key作为默认头部.xlsx'
,
write2excelOpts
:
{
bookType
,
},
});
});
}
}
function
customHeader
()
{
function
customHeader
()
{
...
@@ -48,31 +37,19 @@
...
@@ -48,31 +37,19 @@
beginTime
:
'开始时间'
,
beginTime
:
'开始时间'
,
endTime
:
'结束时间'
,
endTime
:
'结束时间'
,
},
},
filename
:
'
文件名头部修改
.xlsx'
,
filename
:
'
自定义头部
.xlsx'
,
json2sheetOpts
:
{
json2sheetOpts
:
{
// 指定顺序
// 指定顺序
header
:
[
'name'
,
'id'
],
header
:
[
'name'
,
'id'
],
},
},
});
});
}
}
function
aoaToExcel
()
{
// 保证data顺序与header一致
aoaToSheetXlsx
({
data
:
arrData
,
header
:
arrHeader
,
filename
:
'数组方式导出excel.xlsx'
,
});
}
const
[
register
,
{
openModal
}]
=
useModal
();
return
{
return
{
defaultHeader
,
defaultHeader
,
customHeader
,
customHeader
,
aoaToExcel
,
columns
,
columns
,
data
,
data
,
register
,
openModal
,
};
};
},
},
});
});
...
...
src/views/demo/
comp
/excel/data.ts
→
src/views/demo/
echarts
/excel/data.ts
浏览文件 @
a207cafe
File moved
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论