티스토리 뷰
한글이 계속 깨져서... 너무 힘들었다.
chatGPT로 해결책을 찾아봤지만...
내가 원하는 결과를 주지 못했다.
document.getElementById("csvDownload").addEventListener("click", function() {
const table = document.getElementById("csvTable");
const theadRow = table.querySelector("thead tr");
const rows = table.querySelectorAll("tbody tr");
const csvRows = [];
// Include the header row
const headerData = [];
theadRow.querySelectorAll("th").forEach(function(cell) {
headerData.push(cell.textContent);
});
csvRows.push(headerData.join(","));
// Include the data rows
rows.forEach(function(row) {
const rowData = [];
row.querySelectorAll("td").forEach(function(cell) {
rowData.push(cell.textContent);
});
csvRows.push(rowData.join(","));
});
const csvContent = csvRows.join("\n");
// 한글깨짐문제 '\ufeff' + data 이것 참조
const blob = new Blob(['\ufeff' + csvContent], { type: "text/csv;charset=utf-8;" });
const link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.setAttribute("download", "직원연차정보.csv");
document.body.appendChild(link);
link.click();
});
결국 위의 코드에서
const blob = new Blob(['\ufeff' + csvContent], { type: "text/csv;charset=utf-8;" });
이 부분이 중요하다.
이제 완성된 화면이다.
'IT tech Coding > javascript' 카테고리의 다른 글
자바스크립트, 특정 요소만, 특정페이지만 인쇄하기 (0) | 2024.05.01 |
---|---|
input에서 엔터치면 검색버튼 효과 만들기 (0) | 2024.02.20 |
토너먼트 코드 연구 (대진표 프로그램) (0) | 2023.08.15 |
[대진표 생성 프로그램] td요소의 class의 내용도 저장하는 코드로 만들고 싶다. (0) | 2023.08.14 |
svg파일의 면적계산 연구 프로젝트(1차) 자바스크립트로 계산이 가능할까? (0) | 2023.08.13 |
- Total
- Today
- Yesterday
- ajax오류메시지
- 코딩효율성
- 엑셀입력보호
- isset을 적용해야 하는 이유
- sql문장 날짜계산
- 파이썬코드줄바꿈방법
- 티스토리챌린지
- 구글드라이브API
- 캐드자동작도
- #파이썬패키징
- 오토핫키가이드
- 효율적코딩방법
- 오블완
- #프로그램설치
- 코딩튜토리얼
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- json파일편하게보는법
- 엑셀셀보호
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- json파일형태보기
- #InstallForge
- 엑셀보호
- chatGPT3.5파이썬버전
- 스크립트작성기초
- 뫄프로그래밍
- General error: 2031
- 도면자동생성
- 프로그래머생활
- 테크에능한여성
- Bootstrap 5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |