기본 콘텐츠로 건너뛰기

라벨이 xlsx인 게시물 표시

엑셀 데이터 불러오기 SheetJS (xlsx)

 지난번에는 데이터를 엑셀로 다운로드 받는 것을 진행 하였다. 이번에는 그것의 엑셀의 데이터를 읽어오도록 하자. 일단 엑셀데이터의 형식을 결정해보자.   위와 같은 데이터가 있다고 가정하는 것으로 시작하겠다.  엑셀 데이터 불러오기 일단 아래의 코드를 확인하자. <html> <head> <script src ="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" ></script> <script src ="https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js" ></script> <script> function importExcelData (event){ const file = _. get (event , 'target.files.0' ) if (!file) { throw 'file not found' } let reader = new FileReader () reader. readAsBinaryString ( file ) reader. onload = () => { let wb try { wb = XLSX. read ( reader. result , { type : 'binary' } ) } catch ( error ) { throw error } const excelData = _. map (wb.Sheets , (sheet) => { const decodeRa...

엑셀 다운로드 SheetJS (xlsx)

  이번에 소개할 라이브러리는 SheetJS (xlsx)이다. xlsx는 npm명이고, 프로젝트 자체는 SheetJS이다. 나의 경우에, 두 개가 다른 라이브러리로 인식 했던 적이 있다.  일단, 프로버전은 사용 해보지 않았다. 웬만한 프로젝트가 기본버전으로 이용가능했고, 간단하게 일반적인 테이블의 내용을 다운로드 할 수 있는 수준이라고 보면 된다. 프로버전의 경우 차트 혹은 이미지 cell의 상세 스타일등을 지원을 해준다.  뭐 물론 csv만으로도 데이터를 다운로드 받는데에는 무리가 없을 수도 있지만, SheetJS를 사용하게 되면, 기본적으로 셀병합들은 지원 하기에, 필요하다면 SheetJS를 고려하는 것이 좋다.  준비  간단하게, 데이터를 다운로드 해보도록 하자.  준비는 아래처럼 하면 되겠다. <html> <head> <script src ="https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js" ></script> <script src ="./util.js" ></script> <script type ="text/javascript" > const header = [ ' 상품 ' , ' 단가 ' , ' 갯수 ' , ' 금액 ' ] const items = [ [ ' 책 ' , 100 , 3 , 300 ] , [ ' 연필 ' , 200 , 3 , 600 ] , [ ' 공책 ' , 100 , 1 , 100 ] , [ ' 노트북 ' , 150 , 3 , 450 ] ] </script> </head...