Spaces:
Running
Running
| class ExcelViewer { | |
| constructor(containerId) { | |
| this.container = document.getElementById(containerId); | |
| this.init(); | |
| } | |
| init() { | |
| // Create a table structure that mimics Excel | |
| this.table = document.createElement('table'); | |
| this.table.className = 'excel-table'; | |
| this.container.appendChild(this.table); | |
| } | |
| loadData(data) { | |
| // Clear existing data | |
| this.table.innerHTML = ''; | |
| // Create header row | |
| const headerRow = document.createElement('tr'); | |
| Object.keys(data[0]).forEach(key => { | |
| const th = document.createElement('th'); | |
| th.textContent = key; | |
| headerRow.appendChild(th); | |
| }); | |
| this.table.appendChild(headerRow); | |
| // Create data rows | |
| data.forEach(item => { | |
| const row = document.createElement('tr'); | |
| Object.values(item).forEach(value => { | |
| const td = document.createElement('td'); | |
| td.textContent = value; | |
| row.appendChild(td); | |
| }); | |
| this.table.appendChild(row); | |
| }); | |
| } | |
| exportToExcel() { | |
| // Implementation for exporting to Excel | |
| // Would use SheetJS library | |
| } | |
| } | |
| // Export for use in other files | |
| if (typeof module !== 'undefined' && module.exports) { | |
| module.exports = ExcelViewer; | |
| } else { | |
| window.ExcelViewer = ExcelViewer; | |
| } |