Web/Javascript

Javascript로 excel 또는 csv 파일 만들기 (ExcellentExport.js 2.0) Edge 브라우저 지원

saltdoll 2015. 3. 31. 17:31
반응형

ExcellentExport.js

javascript를 이용한  excel과 csv 다운로드 만들기 모듈


정말 간결하게 Excel을 다운로드 처리하게 만들었네요. 좋네요. 


(추가 내용: 2017/01/31)

 1.4버전에서는 Microsoft Edge Browser에서 다운로드가 안됩니다. 2.0버전으로 수정해 주시면 됩니다.


(추가내용: 2017/11/22)

3.0+도 나옴. 해당 버전은 xlsx도 지원, 멀티탭도 지원된다고 하네요.



Javascript export to Excel

<table id="datatable">

    <tr>

        <td>100</td>

        <td>200</td>

        <td>300</td>

    </tr>

    <tr>

        <td>400</td>

        <td>500</td>

        <td>600</td>

    </tr>

</table>


Excel 다운로드 만들기

<script src="excellentexport.js">

<a download="somedata.xls"

    href="#"

    onclick="return ExcellentExport.excel(this, 'datatable', 'Sheet Name Here');">

        Export table to Excel</a>



첨부파일 (과거버전)

excellentexport-1.4.zip


첨부파일2 (Edge 엣지 브라우저 지원)

excellentexport-2.0.0.zip



개인적으로 이름을 받는 형식으로 변경하면 좋을 것 같아서 수정해 보았습니다.

[ HTML ]

<a download="DetailSales.xls"
 onclick="return ExcellentExport.excel(this, 'datatable', 'DetailSales.xls');"> Excel</a>


[ excellentexport.js 파일 ]

var ee = {
/** @export */
excel: function(anchor, table, name) {
table = get(table);
var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML};
var b64 = base64(format(template.excel, ctx));
//return createDownloadLink(anchor, b64, 'application/vnd.ms-excel','export.xls');
return createDownloadLink(anchor, b64, 'application/vnd.ms-excel',name);
},
/** @export */
csv: function(anchor, table, delimiter, newLine) {
if (delimiter !== undefined && delimiter) {
csvDelimiter = delimiter;
}
if (newLine !== undefined && newLine) {
csvNewLine = newLine;
}

table = get(table);
var csvData = tableToCSV(table);
var b64 = base64(csvData);
return createDownloadLink(anchor,b64,'application/csv','export.csv');
}

};

 



사용법 : http://jordiburgos.com/post/2013/javascript-export-to-excel.html

참고: http://jordiburgos.com/post/2014/excellentexport-javascript-export-to-excel-csv.html


Gitbub 사이트: https://github.com/jmaister/excellentexport



반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)