-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
146 lines (123 loc) · 5.24 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin="anonymous">
</head>
<div class="container">
<table class="table table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
<button id="btn" class="btn btn-primary">Export</button>
</div>
<body>
<script src="dist/excel.min.js"></script>
<script>
document.getElementById('btn').addEventListener('click', function () {
var workbook = new Excel.Workbook();
workbook.creator = 'Me';
workbook.lastModifiedBy = 'Her';
workbook.created = new Date(1985, 8, 30);
workbook.modified = new Date();
workbook.lastPrinted = new Date(2016, 9, 27);
workbook.views = [
{
x: 0, y: 0, width: 10000, height: 20000,
firstSheet: 0, activeTab: 1, visibility: 'visible'
}
];
var worksheet = workbook.addWorksheet('My Sheet');
worksheet.columns = [
{ header: '', key: 'id', width: 10 },
{ header: 'Name', key: 'name', width: 32 },
{ header: 'D.O.B.', key: 'DOB', width: 10, outlineLevel: 1 }
];
var row = worksheet.getRow(3);
worksheet.getCell('A1').fill = {
type: "pattern",
pattern: "solid",
fgColor: { argb: 'FFFFFF00' },
bgColor: { argb: 'FF0000FF' }
};
// Access an individual columns by key, letter and 1-based column number
var idCol = worksheet.getColumn('id');
var nameCol = worksheet.getColumn('B');
var dobCol = worksheet.getColumn(3);
// set column properties
// Note: will overwrite cell value C1
dobCol.header = 'Date of Birth';
// Note: this will overwrite cell values C1:C2
dobCol.header = ['Date of Birth', 'A.K.A. D.O.B.'];
// from this point on, this column will be indexed by 'dob' and not 'DOB'
dobCol.key = 'dob';
dobCol.width = 15;
// Hide the column if you'd like
dobCol.hidden = true;
// set an outline level for columns
worksheet.getColumn(4).outlineLevel = 0;
worksheet.getColumn(5).outlineLevel = 1;
// columns support a readonly field to indicate the collapsed state based on outlineLevel
// expect(worksheet.getColumn(4).collapsed).to.equal(false);
// expect(worksheet.getColumn(5).collapsed).to.equal(true);
// iterate over all current cells in this column
dobCol.eachCell(function (cell, rowNumber) {
// ...
});
// iterate over all current cells in this column including empty cells
dobCol.eachCell({ includeEmpty: true }, function (cell, rowNumber) {
// ...
});
// add a column of new values
worksheet.getColumn(6).values = [1, 2, 3, 4, 5];
// add a sparse column of values
worksheet.getColumn(7).values = [, , 2, 3, , 5, , 7, , , , 11];
// cut one or more columns (columns to the right are shifted left)
// If column properties have been definde, they will be cut or moved accordingly
// Known Issue: If a splice causes any merged cells to move, the results may be unpredictable
worksheet.spliceColumns(3, 2);
// remove one column and insert two more.
// Note: columns 4 and above will be shifted right by 1 column.
// Also: If the worksheet has more rows than values in the colulmn inserts,
// the rows will still be shifted as if the values existed
var newCol3Values = [1, 2, 3, 4, 5];
var newCol4Values = ['one', 'two', 'three', 'four', 'five'];
worksheet.spliceColumns(3, 1, newCol3Values, newCol4Values);
workbook.xlsx.writeBuffer()
.then(function (buffer) {
saveAs(new Blob([buffer], { type: "application/octet-stream" }), "test.xlsx");
});
});
</script>
</body>
</html>