You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
852 B
32 lines
852 B
function generateDataArrayForColumn(totalRowCount, columnConfig) {
|
|
let result = [];
|
|
let columnCountArray = Array.from(Array(totalRowCount), (x, i) => i);
|
|
columnCountArray.forEach((x, i) => {
|
|
result.push(columnConfig.getData());
|
|
});
|
|
return result;
|
|
}
|
|
|
|
function createHeaders(dataConfig) {
|
|
let headers = dataConfig.map((a) => a.columnName);
|
|
return headers;
|
|
}
|
|
|
|
export function createExcelRowData(totalRowCount, dataConfig) {
|
|
const rows = [];
|
|
rows.push(createHeaders(dataConfig));
|
|
let createDataSet = [];
|
|
dataConfig.forEach((columnConfig) => {
|
|
createDataSet.push(generateDataArrayForColumn(totalRowCount, columnConfig));
|
|
});
|
|
|
|
for (let i = 0; i < totalRowCount; i++) {
|
|
let rowData = [];
|
|
createDataSet.forEach((columnData) => {
|
|
rowData.push(columnData[i]);
|
|
});
|
|
rows.push(rowData);
|
|
}
|
|
|
|
return rows;
|
|
}
|
|
|