2018. 10. 16. 22:26
반응형
자바스크립트를 이용하여 csv 파일을 생성하면 좋을 때가 있다.
api등을 이용하여 json 형태로 데이터를 가져온 다음 화면상에 표로 나타내는 경우가 많다.
이런 표를 엑셀 등의 프로그램을 이용하여 열고 싶을 때가 있다.
csv 파일로 만들어서 저장하면 엑셀 뿐만 아니라 메모장으로도 열어볼 수 있다.
csv 파일로 저장할 때 열은 콤마(,)로 구분하고 행은 '\r\n'을 이용하여 구분한다.
간단한 배열을 이용하여 csv 파일을 생성하는 예제를 만들어보고자 한다.
어떠한 자료를 가져오든 csv 파일에 맞게 가공을 잘 하는 것이 중요해 보인다.
참고로 인터넷 익스프로러에서 테스트해봤는데 거기서는 안되는 것으로 보인다.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> function downloadCSV(){ var array = []; array.push({name:"name1", age: 20, test: "test1"}); array.push({name:"name2", age: 22, test: "test2"}); array.push({name:"name3", age: 24, test: "test3"}); var a = ""; $.each(array, function(i, item){ a += item.name + "," + item.age + "," + item.test + "\r\n"; }); // jquery 사용하지 않는 경우 /* for(var i=0; i<array.length; i++){ a += array[i].name + "," + array[i].age + "," + array[i].test + "\r\n"; } */ var downloadLink = document.createElement("a"); var blob = new Blob([a], { type: "text/csv;charset=utf-8" }); var url = URL.createObjectURL(blob); downloadLink.href = url; downloadLink.download = "data.csv"; document.body.appendChild(downloadLink); downloadLink.click(); document.body.removeChild(downloadLink); } </script> <button onclick="downloadCSV();">download</button>
반응형
'dev' 카테고리의 다른 글
[Python] bcrypt 암호화 자바의 BCryptPasswordEncoder와 같이 사용 (0) | 2018.11.08 |
---|---|
[JavaScript] textarea 엔터키 자바스크립트에서 <br/>로 변환 (0) | 2018.10.25 |
[Linux] Unable to lock the administration directory (/var/lib/dpkg/) 에러 해결 (0) | 2018.10.23 |
윈도우 파워쉘, cmd 등 콘솔 설정 초기화 (0) | 2018.10.17 |
윈도우 PowerShell 명령어 기록 확인 (0) | 2018.09.30 |
[Python] 파이썬 타이머 기능 활용 (0) | 2018.09.22 |
이클립스 대문자/소문자 변경 단축키 (0) | 2018.09.19 |
DBeaver sql 괄호, 따옴표 자동완성 끄기 (0) | 2018.09.11 |