- 17, May 2024
- #1
Я пытаюсь создать таблицу HTML, которая читается в файле Excel.
В крайнем правом столбце находится столбец флажка, в котором мы можем выбрать нужные строки.
Пользователь открывает файл, а затем считывает его в таблицу.
Код (разметка): Мой файл Excel:
Имя пользователя UserID MemberSince Тип персонала Зарплата Должность
-------------------------------------------------------
Джек Воробей U382 02.04.2011 Полный рабочий день 56000 Пират
Пикачу U712 03.07.2005 Неполный рабочий день 50000 покемонов
Sonic U555 07.12.2009 Неполный рабочий день 35000 Runner
Марио U153 01.01.2012 Частичная занятость 4500 Сантехник
Годзилла U999 06.06.2020 Полный рабочий день 6000 Кайдзю
Проблема в том, что таблица считывает каждую строку и столбец, чего мне не нужно.
Я хочу, чтобы заголовок в файле Excel был пропущен, а некоторые столбцы были пропущены при чтении файла в таблицу. Как изменить таблицу, чтобы она читала только выбранные столбцы? И как добавить столбец флажка в последнюю строку?
В крайнем правом столбце находится столбец флажка, в котором мы можем выбрать нужные строки.
Пользователь открывает файл, а затем считывает его в таблицу.
<!DOCTYPE html>
<html>
<script src="[URL='https://lumtu.com/yti/au44uanNodHRwczovL3VucGtnLmNvbS9yZWFkLWV4Y2VsLWZpbGU0LngvYnVuZGxlL3JlYWQtZXhjZWwtZmlsZS5taWt5S']https://unpkg.com/[email protected]/bundle/read-excel-file.min.js[/URL]"></script>
<link rel="stylesheet" href="styles.css">
</table>
</head>
<body>
<h1>Data in excel file</h1>
<input type="file" id="input">
<table id="tdata">
<thead>
<tr>
<th>Name</th>
<th>User ID</th>
<th>Staff Type</th>
<th>Salary</th>
<th>Selected</th>
</tr>
<script>
var input=document.getElementById('input');
input.addEventListener('change', function() {
readXlsxFile(input.files[0]).then(function(data) {
var i=1;
data.map((row,index)=>
{
let table=document.getElementById('tdata');
generateTableRows(table,row);
});
});
});
function generateTableHead(table,data)
{
let thead=table.createTHead();
let row=thead.insertRow();
for(let key of data) {
let th=document.createElement('th');
let text=document.createTextNode(key);
th.appendChild(text);
row.appendChild(th);
}
}
function generateTableRows(table,data)
{
let newRow=table.insertRow(-1);
data.map((row,index)=>{
let newCell=newRow.insertCell();
let newText=document.createTextNode(row);
newCell.appendChild(newText);
});
}
</script>
</thead>
</table>
</body>
<body>
Код (разметка): Мой файл Excel:
Имя пользователя UserID MemberSince Тип персонала Зарплата Должность
-------------------------------------------------------
Джек Воробей U382 02.04.2011 Полный рабочий день 56000 Пират
Пикачу U712 03.07.2005 Неполный рабочий день 50000 покемонов
Sonic U555 07.12.2009 Неполный рабочий день 35000 Runner
Марио U153 01.01.2012 Частичная занятость 4500 Сантехник
Годзилла U999 06.06.2020 Полный рабочий день 6000 Кайдзю
Проблема в том, что таблица считывает каждую строку и столбец, чего мне не нужно.
Я хочу, чтобы заголовок в файле Excel был пропущен, а некоторые столбцы были пропущены при чтении файла в таблицу. Как изменить таблицу, чтобы она читала только выбранные столбцы? И как добавить столбец флажка в последнюю строку?