Это мой код для нескольких листов.Я хочу две разные таблицы в одном файле Excel.Прямо сейчас у меня есть две структуры данных, Player Info
и BankDetail
.Однако поведение таково, что я получаю обе структуры данных в одном листе.
Не могли бы вы помочь в этом.Две вкладки листа созданы успешно.
var ctx = "";
var workbookXML = "";
var worksheetsXML = "";
var format = function(s, c) {
return s.replace(/{(\w+)}/g, function(m, p) {
return c[p];
})
};
tmplWorksheetXML = '<Worksheet ss:Name="{nameWS}"><Table>{rows}</Table></Worksheet>'
if (data.PlayerInfo.length != 0) {
var xcelTable = "<Row>"
xcelTable += "<tr><th>PlayerId</th><th>PlayerType</th><th>UploadedBy</th><th>UploadedWhen</th><th>Filename</th></tr>"
for (var i = 0; i < data.ListGDPRVendorDocuments.length; i++) {
xcelTable += "<tr><td>" + data.PlayerInfo[i].PlayerId + "</td><td>" + data.PlayerInfo[i].PlayerType + "</td><td>" + data.PlayerInfo[i].UploadedBy + "</td><td>" + data.PlayerInfo[i].UploadedWhen + "</td><td>" + data.PlayerInfo[i].Filename + "</td></tr>";
}
xcelTable += "</Row>";
ctx = {
rows: xcelTable,
nameWS: 'mydoc1'
};
worksheetsXML += format(tmplWorksheetXML, ctx);
}
if (data.BankDetail.length != 0) {
var xcelTable1 = "<Row>"
xcelTable1 += "<tr><th>BankName</th><th>IsFinanceInformationSubmitted</th></tr>"
for (var i = 0; i < data.BankDetail.length; i++) {
xcelTable1 += "<tr><td>" + data.BankDetail[i].BankName + "</td><td>" + data.BankDetail[i].IsFinanceInformationSubmitted + "</td></tr>";
}
xcelTable1 += "</Row>";
ctx = {
rows: xcelTable1,
nameWS: 'mydoc1'
};
worksheetsXML += format(tmplWorksheetXML, ctx);
}
var base64 = function(s) {
return window.btoa(unescape(encodeURIComponent(s)))
};
ctx = {
created: (new Date()).getTime(),
worksheets: worksheetsXML
};
var uri = 'data:application/vnd.ms-excel;base64,'
var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body>{worksheets}</body></html>';
workbookXML = format(template, ctx);
console.log(workbookXML);
var link = document.createElement("A");
link.href = uri + base64(workbookXML);
link.download = 'Workbook.xls';
link.target = '_blank';
document.body.appendChild(link);
link.click();
document.body.removeChild(link)