Scikit Web

XLXS Server Side Download 본문

Backend/Node.js

XLXS Server Side Download

Keun0 2023. 9. 4. 13:33
728x90
반응형

Nodejs Server Side 에서 xlsx 패키지를 이용하여 파일 생성후 프론트에서 다운로드 시키는 예제

import * as XLSX from "xlsx";

try {
  const rootPath = process.cwd();

  var filePath = "/download/excel.xlsx";

  // step 1. workbook 생성
  const wb = XLSX.utils.book_new();

  // step 2. 시트 만들기
  const newWorksheet = XLSX.utils.json_to_sheet([data data data]);

  // step 3. workbook에 새로만든 워크시트에 이름을 주고 붙인다.
  XLSX.utils.book_append_sheet(wb, newWorksheet, "sheet");

  // step 4. 파일을 생성한다.
  const wbout = XLSX.writeFileXLSX(
    wb,
    rootPath + "/public/download/excel.xlsx"
  );

  return filePath;
} catch (e) {
  return e
}

위와 같이 파일을 생성하고 파일 주소만 response 에 담아 리턴한다

 

그 후 아래와 같이 Frontend Side에서는 파일 주소만 가지고 파일을 다운로드 시킨다

const dom = document.createElement('a');
dom.href = 서버로부터 전달 받은 파일 주소;
dom.click();
728x90
반응형

'Backend > Node.js' 카테고리의 다른 글

Error [ERR_REQUIRE_ESM]: require() of ES Module  (0) 2023.09.07
nodejs simple script example  (0) 2023.06.29
Node.js Express + NextJS + Typescript  (0) 2022.08.18
Comments