Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_57822050
vue-element-admin
提交
3d973f7d
V
vue-element-admin
项目概览
weixin_57822050
/
vue-element-admin
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-element-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
3d973f7d
编写于
3月 17, 2019
作者:
小
小新
提交者:
Pan
3月 17, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feature[Excel]: support export merged header export (#1718)
上级
b44335f0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
15 deletion
+35
-15
src/vendor/Export2Excel.js
src/vendor/Export2Excel.js
+14
-0
src/views/excel/exportExcel.vue
src/views/excel/exportExcel.vue
+21
-15
未找到文件。
src/vendor/Export2Excel.js
浏览文件 @
3d973f7d
...
...
@@ -145,9 +145,11 @@ export function export_table_to_excel(id) {
}
export
function
export_json_to_excel
({
multiHeader
,
header
,
data
,
filename
,
merges
,
autoWidth
=
true
,
bookType
=
'
xlsx
'
}
=
{})
{
...
...
@@ -155,10 +157,22 @@ export function export_json_to_excel({
filename
=
filename
||
'
excel-list
'
data
=
[...
data
]
data
.
unshift
(
header
);
for
(
let
header
of
multiHeader
)
{
data
.
unshift
(
header
)
}
var
ws_name
=
"
SheetJS
"
;
var
wb
=
new
Workbook
(),
ws
=
sheet_from_array_of_arrays
(
data
);
if
(
merges
.
length
>
0
)
{
if
(
!
ws
[
'
!merges
'
])
ws
[
'
!merges
'
]
=
[];
merges
.
forEach
(
item
=>
{
ws
[
'
!merges
'
].
push
(
XLSX
.
utils
.
decode_range
(
item
))
})
}
if
(
autoWidth
)
{
/*设置worksheet每列的最大宽度*/
const
colWidth
=
data
.
map
(
row
=>
row
.
map
(
val
=>
{
...
...
src/views/excel/exportExcel.vue
浏览文件 @
3d973f7d
...
...
@@ -19,20 +19,22 @@
{{
scope
.
$index
}}
</
template
>
</el-table-column>
<el-table-column
label=
"Title"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
title
}}
</
template
>
</el-table-column>
<el-table-column
label=
"Author"
width=
"110"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-tag>
{{
scope
.
row
.
author
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"Readings"
width=
"115"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
pageviews
}}
</
template
>
<el-table-column
label=
"主要信息"
align=
"center"
>
<el-table-column
label=
"Title"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
title
}}
</
template
>
</el-table-column>
<el-table-column
label=
"Author"
width=
"110"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-tag>
{{
scope
.
row
.
author
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"Readings"
width=
"115"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
pageviews
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"Date"
width=
"220"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -80,13 +82,17 @@ export default {
handleDownload
()
{
this
.
downloadLoading
=
true
import
(
'
@/vendor/Export2Excel
'
).
then
(
excel
=>
{
const
tHeader
=
[
'
Id
'
,
'
Title
'
,
'
Author
'
,
'
Readings
'
,
'
Date
'
]
const
multiHeader
=
[[
'
Id
'
,
'
主要信息
'
,
''
,
''
,
'
Date
'
]]
const
tHeader
=
[
''
,
'
Title
'
,
'
Author
'
,
'
Readings
'
,
''
]
const
filterVal
=
[
'
id
'
,
'
title
'
,
'
author
'
,
'
pageviews
'
,
'
display_time
'
]
const
list
=
this
.
list
const
data
=
this
.
formatJson
(
filterVal
,
list
)
const
merges
=
[
'
A1:A2
'
,
'
B1:D1
'
,
'
E1:E2
'
]
excel
.
export_json_to_excel
({
multiHeader
,
header
:
tHeader
,
data
,
merges
,
filename
:
this
.
filename
,
autoWidth
:
this
.
autoWidth
,
bookType
:
this
.
bookType
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录