[英]Export excel with customize layout
I want to controll layout this file before exported it.Example: I want fix width column, the title color, the border table or hightline one row or wordwrap by code before export.Can give me some suggestions library control this? 我想在导出之前控制该文件的布局示例:我想在导出之前固定宽度列,标题颜色,边框表或高线一行或通过代码自动换行 。能给我一些建议库来控制此吗? Like this: image excel file 像这样: 图像excel文件
When i try using alasql to set width column,i recieve this bug.How can fix this?: bug when using alasql lib 当我尝试使用alasql设置宽度列时,我收到此bug。如何解决此问题?: 使用alasql lib时的bug
You can create your excel with custom templates using javascript.Have a look on this http://jsfiddle.net/kmqz9/223/ <a id="test" href="" onclick="downloadReport();">Test.xls</a>
您可以使用javascript使用自定义模板创建excel。请查看此http://jsfiddle.net/kmqz9/223/ <a id="test" href="" onclick="downloadReport();">Test.xls</a>
// Test script to generate a file from JavaScript such that MS Excel will honor non-ASCII characters..
testJson = [
{
"name": "First Name",
"city": "City",
"country":" Country of Manas",
"birthdate": "Birth Date",
"amount": "Paisa Ketey"
},
{
"name": "Tony Peña",
"city": "New York",
"country": "United States",
"birthdate": "1978-03-15",
"amount": 42
},
{
"name": "Ζαλώνης Thessaloniki",
"city": "Athens",
"country": "Greece",
"birthdate": "1987-11-23",
"amount": 42
}
];
// Simple type mapping; dates can be hard
// and I would prefer to simply use `datevalue`
// ... you could even add the formula in here.
testTypes = {
"name": "String",
"city": "String",
"country": "String",
"birthdate": "String",
"amount": "String"
};
emitXmlHeader = function () {
return '<?xml version="1.0"?>\n' +
'<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">\n' +
'<ss:Worksheet ss:Name="Sheet1">\n' +
'<ss:Table>\n\n';
};
emitXmlFooter = function() {
return '\n</ss:Table>\n' +
'</ss:Worksheet>\n' +
'</ss:Workbook>\n';
};
jsonToSsXml = function (jsonObject) {
var row;
var col;
var xml;
var data = typeof jsonObject != "object"
? JSON.parse(jsonObject)
: jsonObject;
xml = emitXmlHeader();
for (row = 0; row < data.length; row++) {
xml += '<ss:Row>\n';
for (col in data[row]) {
xml += ' <ss:Cell>\n';
xml += ' <ss:Data ss:Type="' + testTypes[col] + '">';
xml += data[row][col] + '</ss:Data>\n';
xml += ' </ss:Cell>\n';
}
xml += '</ss:Row>\n';
}
xml += emitXmlFooter();
return xml;
};
console.log(jsonToSsXml(testJson));
function download (content, filename, contentType) {
if (!contentType) contentType = 'application/octet-stream';
var a = document.getElementById('test');
var blob = new Blob([content], {
'type': contentType
});
a.href = window.URL.createObjectURL(blob);
a.download = filename;
window.navigator.msSaveOrOpenBlob(blob,filename);
};
function downloadReport()
{
download(jsonToSsXml(testJson), 'test.xls', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.