반응형
function exportTableToCsv(tableId, filename) {
if (filename == null || typeof filename == undefined)
filename = tableId;
filename += ".csv";
var BOM = "\uFEFF";
var table = document.getElementById(tableId);
var csvString = BOM;
for (var rowCnt = 0; rowCnt < table.rows.length; rowCnt++) {
var rowData = table.rows[rowCnt].cells;
for (var colCnt = 0; colCnt < rowData.length; colCnt++) {
var columnData = rowData[colCnt].innerHTML;
if (columnData == null || columnData.length == 0) {
columnData = "".replace(/"/g, '""');
}
else {
columnData = columnData.toString().replace(/"/g, '""'); // escape double quotes
}
csvString = csvString + '"' + columnData + '",';
}
csvString = csvString.substring(0, csvString.length - 1);
csvString = csvString + "\r\n";
}
csvString = csvString.substring(0, csvString.length - 1);
// IE 10, 11, Edge Run
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
var blob = new Blob([decodeURIComponent(csvString)], {
type: 'text/csv;charset=utf8'
});
window.navigator.msSaveOrOpenBlob(blob, filename);
} else if (window.Blob && window.URL) {
// HTML5 Blob
var blob = new Blob([csvString], { type: 'text/csv;charset=utf8' });
var csvUrl = URL.createObjectURL(blob);
var a = document.createElement('a');
a.setAttribute('style', 'display:none');
a.setAttribute('href', csvUrl);
a.setAttribute('download', filename);
document.body.appendChild(a);
a.click()
a.remove();
} else {
// Data URI
var csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csvString);
var blob = new Blob([csvString], { type: 'text/csv;charset=utf8' });
var csvUrl = URL.createObjectURL(blob);
var a = document.createElement('a');
a.setAttribute('style', 'display:none');
a.setAttribute('target', '_blank');
a.setAttribute('href', csvData);
a.setAttribute('download', filename);
document.body.appendChild(a);
a.click()
a.remove();
}
}
https://extbrain.tistory.com/115
[Javascript] 테이블을 CSV 파일로 다운로드
▶Javascript 테이블을 CSV 파일로 다운로드 ▶설명 테이블에 있는 데이터를 CSV 파일로 다운로드하고 싶은 경우 사용하는 코드입니다. 출처는 아래의 주소입니다. 출처 : https://stackoverflow.com/question
extbrain.tistory.com
반응형
'기타' 카테고리의 다른 글
| [Gmail SMTP 오류] 535-5.7.8 Username and Password not accepted/ 534-5.7.9 Application-specific password required 해결방법 (0) | 2022.06.16 |
|---|---|
| location.href 안될 때 (0) | 2022.01.13 |
| [Ajax] success로 안들어갈 때 (0) | 2022.01.13 |
| [Javascript] 정규표현식(비밀번호 영문+숫자 조합 체크) (0) | 2021.11.24 |
| 맥북에어 모니터 연결 (0) | 2021.10.05 |