我有SheetJS .xlsx生成的文件,但我无法将border
添加到cells
。
我有这个:
我需要这个:
有没有办法用SheetJS
做到这一点?如果能够应用其他单元格样式(如背景颜色),那将会很酷。
修改:
我正在制作具有此功能的纸张:
function makeSheet(wb, day){ //sheet for a specific day
var ws = XLSX.utils.table_to_sheet(document.getElementById("table"+day));
wb.SheetNames.push(day);
wb.Sheets[day] = ws;
//columns width working ok
wb["Sheets"][day]["!cols"] = [{ wpx : 70 },{ wpx : 121 }];
//wb["Sheets"][day]["A1"]["s"] = {"border":"1px"}; //I've tried this but doesn't work
return wb;
}
编辑2
我已创建此示例代码段,如果您可以在此处设置边框和/或其他单元格样式,那将是一场胜利:
$(document).ready(myMain);
function myMain(){
$(document).on("click","#btnexcel", function(){makeExcel()});
}
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
function makeExcel(){
var wb = XLSX.utils.table_to_book(document.getElementById("myTable"),{sheet:"Sheet 1"}) //my html table
var wbout = XLSX.write(wb, {bookType:'xlsx', bookSST:true, type: 'binary'});
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), 'MyExcel.xlsx');
}
&#13;
<!-- JQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Bootstrap CSS-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- Bootstrap JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script lang="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.12.13/xlsx.full.min.js"></script>
<script src="https://fastcdn.org/FileSaver.js/1.1.20151003/FileSaver.min.js"></script>
<button id="btnexcel">Download excel</button>
<table id="myTable" border="1">
<thead><tr><th>hello</th><th>dear community</th></tr></thead>
<tbody>
<tr><td>I need borders</td><td>around here</td></tr>
<tr><td>I'll be glad</td><td>if you help me</td></tr>
</tbody>
</table>
&#13;
答案 0 :(得分:5)
您使用的是SheetJS
库的社区版,并且此版本无法执行样式设置。但是可以使用Pro Version样式功能。
查看此官方评论:
这是社区版。我们还提供专业版 性能增强,样式等附加功能 专门的支持。
有关专业版的更多信息,请访问他们的官方网站:http://sheetjs.com/pro
答案 1 :(得分:0)
var wscols = [{wpx: 100}];
ws['!cols'] = wscols ;