티스토리 뷰
아무래도 그리드를 이용한 웹프로그램을 만들면 화면에 보이는 자료를 다운로드해서 활용하는 것이 너무도 당연한 진행이겠죠. 이럴때 CSV파일로 저장해서 활용하면 더 효율적이라 할 수 있겠죠.
간단하게 CSV파일로 저장하는 자바스크립트, 바로 실행하기 좀 그래서 php파일로 저장했지만, <script>테그를 써서 자바스크립트로 실제 실행해 봤습니다.
실제는 <script> 테그 안의 내용이 실행내용이고, 나머지는 웹에서 한번 뿌려보려고 상단에 코딩 붙인 것입니다.
위와 같이 윈도우 화면 좌측 하단에 파일이 생깁니다. 오~~~
<!DOCTYPE html>
<meta charset="UTF-8">
<html>
<body>
<script>
const data = [
["홍길동", "김영희", "이철수"],
["삼식이", "홍두식", "박덕자"]
];
let csvContent = "data:text/csv;charset=utf-8,\uFEFF"; // 한글파일은 뒤에,\uFEFF 추가해서 해결함.
data.forEach(function(rowArray) {
let row = rowArray.join(",");
csvContent += row + "\r\n";
});
중요사항, 한글파일은 '\uFEFF' 반드시 넣어야 나옵니다. 안그러면... 아래와 같이 나와요.
당황하셨죠?
// 위와 같은 코드인데 간결하게 작성함.
// const data = [
// ["홍길동", "김영희", "이철수"],
// ["삼식이", "홍두식", "박덕자"]
// ];
// let csvContent = "data:text/csv;charset=utf-8," + data.map(e => e.join(",")).join("\n"); // 간결한 표현식
// 위의 코드를 다운로드 하고 인코딩을 위한 코드는 아래와 같습니다.
// var encodedUri = encodeURI(csvContent);
// window.open(encodedUri);
// 이 함수는(, /? : @ & = + $)를 제외한 특수 문자를 인코딩하고 인코딩 된 URI를 나타내는 문자열 값을 반환합니다.
// CSV 파일에 특정 이름을 지정하려면 숨겨진 DOM 노드를 만들고 다운로드 기능을 설정해야합니다. 이것은 아래에서 수행됩니다.
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "csv_downloadfile.csv");
document.body.appendChild(link);
link.click();
// 데이터를 큰 따옴표 안에 삽입하려면 CSV 데이터 개체를 만드는 동안JSON.stringify()함수를 사용할 수 있습니다.
// 아래 코드를 참조하십시오.
// const data = [
// ["홍길동", "김영희", "이철수"],
// ["삼식이", "홍두식", "박덕자"]
// ];
// var csv = data.map(function(d){
// return JSON.stringify(d);
// })
// .join('\n')
// .replace(/(^\[)|(\]$)/mg, '');
// console.log(csv);
</script>
</body>
</html>
빨간색 글씨만 있어도 실행될거예요. 나머지는 공부하면서 주석달아서 작성했습니다.
출력결과는 엑셀에서 열어보면 아래와 같이 잘 나와있어요.
자바스크립트 csv파일 저장시 한글로 위와 같이 나오려면, 반드시 추가해야할 사항... 꼭 기억하세요.
이거 몰라서 몇시간을 찾아 해멨는지 모릅니다. 꼭 기억하세요.
'IT tech Coding > javascript' 카테고리의 다른 글
[js] php화면에 자바스크립트 활용해서 스케줄표 그려주기, 실무에서 사용한 코드 (0) | 2021.12.18 |
---|---|
jexcel에서 toast UI grid로 웹사이트 변경작업하기 (0) | 2021.12.12 |
자바스크립트로 줌인 줌아웃 만들어 보자, ZOOM IN ZOOM OUT 어렵지 않아요~~ (0) | 2020.04.13 |
php 작성된 배열을 자바스크립트에서 불러오는 방법 (0) | 2020.02.20 |
javascript html 폼의 submit 전송을 자바스크립트로 구현하는 방법 (0) | 2019.07.28 |
- Total
- Today
- Yesterday
- 티스토리챌린지
- 엑셀셀보호
- 프로그래머생활
- 구글드라이브API
- 파이썬코드줄바꿈방법
- 스크립트작성기초
- ajax오류메시지
- #파이썬패키징
- 효율적코딩방법
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- chatGPT3.5파이썬버전
- 코딩효율성
- #프로그램설치
- 테크에능한여성
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 도면자동생성
- 엑셀보호
- json파일형태보기
- #InstallForge
- 엑셀입력보호
- isset을 적용해야 하는 이유
- General error: 2031
- json파일편하게보는법
- Bootstrap 5
- sql문장 날짜계산
- 캐드자동작도
- 뫄프로그래밍
- 코딩튜토리얼
- 오블완
- 오토핫키가이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |