0

I am converting json to excel using sheet.js.

Excel download has been implemented. but i want to implement border What should I do?

var _wscols = [{wpx:100}, {wpx:150}, {wpx:150}, {wpx:400}];
            var _fileNm = "메뉴현황_" + funGetTimeStamp() + ".xlsx";
            
            // step 1. 워크북 생성
            var _wb             = XLSX.utils.book_new();
            // step 2. 맵핑할 데이터 헤더 생성
            var _myHeader       = ["MENU_TOP_NM", "MENU_SUB_NM", "RPT_CD", "RPT_CD_NM"];
            var _myHeaderName   = ["TOP메뉴명", "SUB메뉴명", "데이터코드", "데이터코드명"];
            // step 3. 시트 만들기 
            var _newWorksheet   = XLSX.utils.json_to_sheet(_data, {header: _myHeader, cellDates:true, cellStyles:true});
            _newWorksheet['!cols'] = _wscols;
            var i               = 0;
            var _range          = XLSX.utils.decode_range(_newWorksheet['!ref']);
            for(var C = _range.s.r; C <= _range.e.r; ++C) {
                var address     = XLSX.utils.encode_col(C) + "1"; // <-- first row, column number C
                if(!_newWorksheet[address]) continue;
                _newWorksheet[address].v    = _myHeaderName[i];
                i++;
            }
            
            // step 4. workbook에 새로만든 워크시트에 이름을 주고 붙인다.  
            XLSX.utils.book_append_sheet(_wb, _newWorksheet, "메뉴현황");
            // step 5. 엑셀 파일 만들기 
            var wbout = XLSX.write(_wb, {bookType:'xlsx',  type: 'binary'});
            // step 6. 엑셀 파일 내보내기 
            saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), _fileNm);
Lelio Faieta
  • 6,457
  • 7
  • 40
  • 74
해품달
  • 3
  • 3
  • Does this answer your question? [How to add cell border to SheetJS .xlsx generated file?](https://stackoverflow.com/questions/50110595/how-to-add-cell-border-to-sheetjs-xlsx-generated-file) – Robin Mackenzie Jun 18 '21 at 04:51

1 Answers1

0
ws["B2"].s = {
border: {
        right: {
          style: "thin",
          color: "000000"
        },
        left: {
          style: "thin",
          color: "000000"
        },
        top:{
          style: "thin",
          color: "000000"
        },
        bottom:{
          style: "thin",
          color: "000000"
        }
      }
    };

Like this you can add border to any cell