반응형
시트 JS를 사용한 단일 시트의 여러 테이블
시트의 예제를 성공적으로 사용하고 있습니다.JS의 웹사이트는 다음과 같습니다.
/* create new workbook */
var workbook = XLSX.utils.book_new();
/* convert table 'table1' to worksheet named "Sheet1" */
var ws1 = XLSX.utils.table_to_sheet(document.getElementById('table1'));
XLSX.utils.book_append_sheet(workbook, ws1, "Sheet1");
/* convert table 'table2' to worksheet named "Sheet2" */
var ws2 = XLSX.utils.table_to_sheet(document.getElementById('table2'));
XLSX.utils.book_append_sheet(workbook, ws2, "Sheet2");
/* workbook now has 2 worksheets */
하나의 시트에 여러 html 테이블을 추가할 수 있습니까?그들은 같은 구조를 가지고 있습니다.저는 이런 것들이 있을 수 있다고 생각합니다.
/* convert 'table1', 'table2', 'table3' to single sheet named "Sheet1" */
var ws1 = XLSX.utils.table_to_sheet(document.getElementById('table1'));
var ws2 = XLSX.utils.table_to_sheet(document.getElementById('table2'));
var ws3 = XLSX.utils.table_to_sheet(document.getElementById('table3'));
XLSX.utils.book_append_sheet(workbook, {ws1, ws2, ws3}, "Sheet1");
저는 다음 링크에서 답을 찾았습니다: https://codepen.io/anon/pen/EebyzQ?editors=0010
워크시트를 하나로 추가하고 첫 번째 워크시트의 헤더를 건너뛰어 Excel 시트로 내보냅니다.
function convert(){
let tbl1 = document.getElementsByTagName("table")[0]
let tbl2 = document.getElementsByTagName("table")[1]
let worksheet_tmp1 = XLSX.utils.table_to_sheet(tbl1);
let worksheet_tmp2 = XLSX.utils.table_to_sheet(tbl2);
let a = XLSX.utils.sheet_to_json(worksheet_tmp1, { header: 1 })
let b = XLSX.utils.sheet_to_json(worksheet_tmp2, { header: 1 })
a = a.concat(['']).concat(b)
let worksheet = XLSX.utils.json_to_sheet(a, { skipHeader: true })
const new_workbook = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(new_workbook, worksheet, "worksheet")
XLSX.writeFile(new_workbook, 'tmp_file.xls')
}
다음은 @md Moazzem 답변에 기초한 세 개의 테이블에 대한 작업 코드입니다.
function convert(section){
var elt = document.getElementById('tbl_exporttable_to_xls');
var elt2 = document.getElementById('tbl_exporttable_to_xls2');
var elt3 = document.getElementById('tbl_exporttable_to_xls3');
let worksheet_tmp1 = XLSX.utils.table_to_sheet(elt);
let worksheet_tmp2 = XLSX.utils.table_to_sheet(elt2);
let worksheet_tmp3 = XLSX.utils.table_to_sheet(elt3);
let a = XLSX.utils.sheet_to_json(worksheet_tmp1, { header: 1 })
let b = XLSX.utils.sheet_to_json(worksheet_tmp2, { header: 1 })
let c = XLSX.utils.sheet_to_json(worksheet_tmp3, { header: 1 })
a = a.concat(['']).concat(b)
a = a.concat(['']).concat(c)
let worksheet = XLSX.utils.json_to_sheet(a, { skipHeader: true })
const new_workbook = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(new_workbook, worksheet, "worksheet")
XLSX.writeFile(new_workbook, (section+'-Marks.xlsx'))
}
언급URL : https://stackoverflow.com/questions/51829907/multiple-tables-in-single-sheet-using-sheetjs
반응형
'programing' 카테고리의 다른 글
ImageDataGenerator 사용 시 Keras 분할 트레인 테스트 세트 (0) | 2023.08.26 |
---|---|
기존 도커 컨테이너에 볼륨을 추가하려면 어떻게 해야 합니까? (0) | 2023.08.26 |
사용자 지정 이미지가 있고 테두리가 없는 UIBarButtonItem (0) | 2023.08.26 |
타이머 시작 및 중지 PHP (0) | 2023.08.26 |
Oracle 병합 대 선택 후 삽입 또는 업데이트 (0) | 2023.08.26 |