반응형
1. 다운로드 버튼 클릭 이벤트
$("#excelDownload").click(function () {
let filename = "testFile.csv";
getCSV(filename);
});
2. CSV 생성 함수
function getCSV(filename) {
var csv = [];
var row = [];
//1열에는 컬럼명
row.push(
"열 제목1",
"열 제목2",
"열 제목3",
);
csv.push(row.join(","));
//chartDataList는 데이터 배열
$.each(chartDataList, function (index, data) {
row = [];
row.push(
data.d1,
data.d2,
data.d3
);
csv.push(row.join(","));
});
downloadCSV(csv.join("\n"), filename);
}
3. CSV 다운로드 함수
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
//한글 처리를 해주기 위해 BOM 추가하기
const BOM = "\uFEFF";
csv = BOM + csv;
csvFile = new Blob([csv], { type: "text/csv" });
downloadLink = document.createElement("a");
downloadLink.download = filename;
downloadLink.href = window.URL.createObjectURL(csvFile);
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);
downloadLink.click();
}
반응형
'코딩 관련 > Javascript와 jQuery, JSON' 카테고리의 다른 글
[JavaScript] 동적으로 생성된 DOM에 이벤트 생성 (0) | 2021.05.12 |
---|---|
[JavaScript] 페이지 처리, 페이징 처리, 페이지네이션 (13) | 2021.05.11 |
[JavaScript] Null 연산 Null to 0 (0) | 2021.04.16 |
[AJAX][JavaScript] AJAX 에서 전역변수 이용하기 (0) | 2021.03.25 |
[AJAX][Datatable] AJAX 이용하여 DataTable 만들기 (0) | 2021.03.09 |