본문 바로가기
IT/HTML|Script|PHP

html에서 엑셀파일 읽는 방법

by 하요 2024. 5. 26.
반응형

엑셀 파일을 웹 화면에 불러와서 내용을 정리하고 싶을 때가 있다.

이때, 파일을 불러와서 간단하게 화면에 노출을 하고 정리를 하는 방법이 있다.

 

1. cdn 파일 호출하기

<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.15.5/xlsx.full.min.js"></script>

파일을 저장한 다음 파일을 호출하여도 문제는 없겠으나,

그것 보다는 간단하게 cdn을 상단에 정의하여 호출하는 부분이 사이트가 가벼워지는데도 도움이 된다.

 

2. html 작성하기

<html>
	<body>
    	<input type="file" onchange="readExcel()">
	</body>
</html>

html에서 파일을 가져올 input을 하나 선언합니다.

그리고 파일이 변경이 될 때마다 수정이 될 수 있도록 onchange에다가 함수를 호출합니다.

 

3. script 작성하기

<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) {
            	// 엑셀의 각 sheet명을 찍는다.
                console.log('SheetName: ' + sheetName);
                
                let rows = XLSX.utils.sheet_to_json(workBook.Sheets[sheetName]);
            	// 해당 sheet의 값들을 노출한다.
                console.log(JSON.stringify(rows));
            })
        };
        reader.readAsBinaryString(input.files[0]);
    }
</script>

콘솔에다 선택한 엑셀 값이 노출이 됩니다.

 

예시

순번 이름 나이
1 홍길동 18
2 김철수 16

위의 내용을 가진 sheet의  콘솔로 찍는다고 할 때,

[{"순번":"1',"이름":"홍길동","나이","18"}, {"순번":"2',"이름":"김철수","나이","16"} ]

위와 같이 console 창에 찍히는 것을 확인할 수 있다.

 


 

*  엑셀의 날짜가 숫자로 표기될때, 날짜형식으로 변경하는 방법

https://hayo-today.tistory.com/58

 

html에서 엑셀파일 날짜 변환

html에서 엑셀파일을 호출해서 화면에 노출을 하였다. > https://hayo-today.tistory.com/57 html에서 엑셀파일 읽는 방법엑셀 파일을 웹 화면에 불러와서 내용을 정리하고 싶을 때가 있다.이때, 파일을 불

hayo-today.tistory.com

 

반응형

댓글