HTML <tr>таблица из переменной - PullRequest
0 голосов
/ 19 июня 2020

Мне нужна помощь! Я хочу создать функцию, которая будет передавать указанные ниже переменные в таблицу <tr> в html, чтобы я мог экспортировать ее в excel.

B20P:  [[B20P1]], [[B20P2]], [[B20P3]], [[B20P4]], [[B20P5]], [[B20P6]], [[B20P7]], [[B20P8]], [[B20P9]], [[B20P10]]     |    
W20P:  [[W20P1]], [[W20P2]], [[W20P3]], [[W20P4]], [[W20P5]], [[W20P6]], [[W20P7]], [[W20P8]], [[W20P9]], [[W20P10]]     |  

Я хочу, чтобы он выглядел как на изображении ниже.

enter image description here

1 Ответ

0 голосов
/ 19 июня 2020

Имеет go с этим

Допущения:

  • Данные представляют собой одну строку
  • \n - разделитель строк
  • | можно игнорировать
  • , - разделитель ячеек
  • Первое «слово» в строке - это заголовок

const lines = `B20P: [[B20P1]], [[B20P2]], [[B20P3]], [[B20P4]], [[B20P5]], [[B20P6]], [[B20P7]], [[B20P8]], [[B20P9]], [[B20P10]] |
W20P: [[W20P1]], [[W20P2]], [[W20P3]], [[W20P4]], [[W20P5]], [[W20P6]], [[W20P7]], [[W20P8]], [[W20P9]], [[W20P10]] |`.replace(/ \|/g,"").split("\n");
const thead = [], tbody = [];
const cols = lines.length;
lines.forEach((line,i) => {
  const cells = line.split(' ');
  thead[i] = `<th>${cells[0]}</th>`;
  cells.slice(1).forEach((cell,j) =>  {
    if (!tbody[j]) tbody[j]='<tr>';
    tbody[j] += `<td>${cell.replace(",","")}</td>`
    if (i+1%cols === 0) tbody[j] += '</tr>';
  })  
})  
document.body.innerHTML = `<table><thead><tr>${thead.join("")}</tr></thead><tbody>${tbody.join("")}</tbody></table>`;
table tr td,th {
  border-spacing: 0px;
  border-collapse: separate;
  border: 1px solid black;
  text-align:center;
}

table tr {
  background-color: #E0E0E0;
}

table tr:nth-child(even) {
  background-color: #F1F1F1;
}


td {
  min-width: 100px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...