PureJS loadXlsx 헤더값 가져오기 질문드립니다.
페이지 정보
작성자 맬그 작성일 2021-02-18 19:03 조회 4,445회 댓글 0건본문
첨부파일
관련링크
이전 질문에 json으로 데이터 가져오는 부분 답변 너무 감사드립니다. 잘 해결 되었습니다.
grid.columns[0].binding
이부분이
샘플데이터를 만들어서 생성하거나, 서버에서 가져와서 처리할때는 문제가 없이 잘 인식을 했습니다.
문제는
그 상태서 다시 파일선택 후 임포트를 눌렀을때 새로 만들어지는 그리드에 헤더값을 읽지를 못합니다.
헤더 체크를 하면 헤더에 값이 입력 된 후에
grid.columns[0].binding 하면 계속 null 이 찍히네요
onClick('loadXlsx', () => {
let inputEle = document.querySelector('#importFile');
if (inputEle.files[0]) {
//wijmo.grid.xlsx.FlexGridXlsxConverter.loadAsync(grid, inputEle.files[0], { includeColumnHeaders: includeColumnHeader });
if ($('#importIncludeColumnHeader').is(":checked")) {
wijmo.grid.xlsx.FlexGridXlsxConverter.loadAsync(grid, inputEle.files[0], { includeColumnHeaders: true });
} else {
wijmo.grid.xlsx.FlexGridXlsxConverter.loadAsync(grid, inputEle.files[0], { includeColumnHeaders: false });
}
}
});
여기서 파일 선택후 import 누르면 다시 불러온 엑셀이 다시 그려지는데 그때 data 처리 방법을 잘 모르겠습니다.
그래서 loadXlsx 이벤트 발생할때
wijmo.grid.xlsx.FlexGridXlsxConverter.loadAsync(grid, inputEle.files[0], { includeColumnHeaders: false });
var c = new wijmo.grid.Column();
c.binding = 'test';
c.header = 'test';
c.width = '*';
grid.columns.push(c);
그 밑에 컬럼을 다시 생성 해봤더니 loadAsync 이게 마지막에 실행이 되더라고요
처음 로딩시
var data = [];
$(document).ready(function(){
var grid = new wijmo.grid.FlexGrid('#flexgrid', {
itemsSource: data
});
여기에 컬럼을 추가한다던지 옵션을 줬을때는 다 인식을 합니다만
그상태서 새로운 파일을 불러와서 다시 그렸을때 헤더값을 인식을 못합니다.
alert(grid.getCellData(0,0) 값들은 잘 가져오는데 헤더부분이 문제여서
헤더 처리 하는 방법을 알려주시면 감사드리겠습니다.
댓글목록
등록된 댓글이 없습니다.