[java] 등록한 엑셀파일 읽기
2024. 5. 1. 15:15ㆍJSP
사용자가 화면에서 엑셀파일 양식을 내려받고
몇개를 등록했는지 사용자가 엑셀파일을 업로드했을때 특정 키워드로 길이를 읽어서
화면에 보여줘야했습니다.
엑셀파일은 이해를 돕기위해 아래를 참고해주세요.
순번 번호
1 010-xxxx-xxxx
2 010-xxxx-xxxx
3 010-xxxx-xxxx
4 010-xxxx-xxxx
5 010-xxxx-xxxx
6 010-xxxx-xxxx
7 010-xxxx-xxxx
사용자가 위 내용이 담긴 엑셀파일을 업로드하면 화면에서 총 발송 요청건수 : {} 로 보여주려고 합니다.
아래는 적용한 소스입니다.
// HTML input type 파일로 주고 파일 올렷을때 onchange 이벤트로 자바스크립트를 타게합니다.
input type="file" onchange="readExcel()"
// 등록된 엑셀파일 JSON형식으로 변환해서 배열로 읽습니다.
// 배열안에 읽고싶은 걸 match를 통해 (/ /g) 가운데에 넣고 찾습니다.
// length 갯수로 찾았기때문에 보기편하게 replace로 숫자(3)자마다 쉼표(,)를 넣습니다.
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) {
let rows = XLSX.utils.sheet_to_json(workBook.Sheets[sheetName]);
document.getElementById("totalCount").value = '총 발송 요청건수 : '
+ JSON.stringify(rows).match(/순번/g)?.length.toString()
.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');
})
};
reader.readAsBinaryString(input.files[0]);
}
'JSP' 카테고리의 다른 글
| [java] input type file 파일첨부 확장자 설정 (1) | 2024.06.05 |
|---|---|
| [JSTL] if , if else 표현하기 (0) | 2024.06.03 |
| [JSTL] c:forEach문 에서 키 두개 사용하기 (0) | 2024.06.03 |
| [java] JSTL 부등호 모음 (0) | 2024.05.07 |
| [java] input 입력 제한 주기(영어,한글,숫자) (0) | 2024.05.06 |