FILES/CSV

πŸ“‘ CSV 데이터듀을 HTMLλ¬Έμ„œμ— ν…Œμ΄λΈ”λ‘œ 좜λ ₯ν•˜κΈ°

인파_ 2021. 9. 15. 19:30

csv-html

CSV νŒŒμΌμ„ HTML ν…Œμ΄λΈ”λ‘œ λ³€ν™˜ν•˜κΈ°

csv νŒŒμΌμ„ μ›Ήλ¬Έμ„œμ— 뢈러였기 μœ„ν•΄ ajax μš”청을 ν•œλ‹€.

μ˜ˆμ œμ— μ‚¬μš©ν•  csv 파일 (csv_data.csv)은 λ‹€μŒκ³Ό 같이 κ΅¬μ„±λ˜μ–΄μžˆλ‹€κ³  ν•˜μž.

$.ajax({
    url: 'csv_data.csv',
    dataType: 'text'
}).done(successFunction);

csv-html

 

만일 ajax μš”μ²­μ΄ μ„±κ³΅ν–ˆλ‹€κ³  κ°€μ •ν•˜λ©΄ successFunction() λ©”μ†Œλ“œκ°€ μ‹€ν–‰λœλ‹€. μ΄ ν•¨μˆ˜λŠ” λ°˜ν™˜λœ 데이터λ₯Ό νŒŒμ‹±ν•΄μ„œ HTML ν…Œμ΄λΈ”λ‘œ λ§Œλ“€μ–΄ λ³€ν™˜ν•œλ‹€.

function successFunction(data) {
  var allRows = data.split(/\r?\n|\r/);
  var table = '<table>';
  for (var singleRow = 0; singleRow < allRows.length; singleRow++) {
    if (singleRow === 0) {
      table += '<thead>';
      table += '<tr>';
    } else {
      table += '<tr>';
    }
    var rowCells = allRows[singleRow].split(',');
    for (var rowCell = 0; rowCell < rowCells.length; rowCell++) {
      if (singleRow === 0) {
        table += '<th>';
        table += rowCells[rowCell];
        table += '</th>';
      } else {
        table += '<td>';
        table += rowCells[rowCell];
        table += '</td>';
      }
    }
    if (singleRow === 0) {
      table += '</tr>';
      table += '</thead>';
      table += '<tbody>';
    } else {
      table += '</tr>';
    }
  } 
  table += '</tbody>';
  table += '</table>';
  $('body').append(table);
}

csv-html


ν…Œμ΄λΈ” μŠ€νƒ€μΌ μΆ”κ°€

κΈ°λ³Έ html ν…Œμ΄λΈ”μ΄ λ°‹λ°‹ν•˜λ©΄ μ•„λž˜μ˜ μŠ€νƒ€μΌ μ½”λ“œλ₯Ό μΆ”κ°€ν•΄λ³΄μž.

csv-html

table {
  margin: 0 auto;
  text-align: center;
  border-collapse: collapse;
  border: 1px solid #d4d4d4;
}
 
tr:nth-child(even) {
  background: #d4d4d4;
}
 
th, td {
  padding: 10px 30px;
}
 
th {
  border-bottom: 1px solid #d4d4d4;
}

# 참고자료

https://code.tutsplus.com/ko/tutorials/parsing-a-csv-file-with-javascript--cms-25626