diff --git a/src/vendor/Export2Excel.js b/src/vendor/Export2Excel.js
index ba956dc1e70..3fda4465aa8 100644
--- a/src/vendor/Export2Excel.js
+++ b/src/vendor/Export2Excel.js
@@ -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 => {
diff --git a/src/views/excel/exportExcel.vue b/src/views/excel/exportExcel.vue
index 551b89f85e7..1702d978157 100644
--- a/src/views/excel/exportExcel.vue
+++ b/src/views/excel/exportExcel.vue
@@ -18,20 +18,22 @@
{{ scope.$index }}
-
-
- {{ scope.row.title }}
-
-
-
-
- {{ scope.row.author }}
-
-
-
-
- {{ scope.row.pageviews }}
-
+
+
+
+ {{ scope.row.title }}
+
+
+
+
+ {{ scope.row.author }}
+
+
+
+
+ {{ scope.row.pageviews }}
+
+
@@ -79,13 +81,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