- 자바스크립트로 Excel 데이터 가져오기
SheetJS는 로컬에 저장된 엑셀 파일을 다룰 수 있는 라이브러리이다.
이 라이브러리를 별도로 다운로드 받지 않고도 CDN을 통해 이용할 수 있다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.15.5/xlsx.full.min.js"></script>
- 예제 코드
<body>
<!-- 파일이 추가될 때마다 함수가 실행 -->
<input type="file" onchange="readExcel()">
<script>
function readExcel() {
let input = event.target;
let reader = new FileReader();
reader.onload = function () {
let data = reader.result;
let workBook = XLSX.read(data, { type: 'binary' });
workBook.SheetNames.forEach(function (sheetName) {
console.log('SheetName: ' + sheetName);
let rows = XLSX.utils.sheet_to_json(workBook.Sheets[sheetName]);
console.log(JSON.stringify(rows));
})
};
reader.readAsBinaryString(input.files[0]);
}
</script>
</body>
// Excel 파일 추가 시, 실행 결과
SheetName: #인구수
[
{
"지역명":"무안군 무안읍",
"남자":8599,
"여자":7900,
"가구수":6968,
"노인수":732,
"아저씨":1359,
"어린이":4627
},
{
"지역명":"무안군 일로읍",
"남자":3659,
"여자":3243,
"가구수":3526,
"노인수":8711,
"아저씨":8758,
"어린이":4099
},
....
{
"지역명":"무안군 운남면",
"남자":7357,
"여자":7667,
"가구수":3624,
"노인수":8110,
"아저씨":8042,
"어린이":9618
}
]