[JS/TS] 엑셀 파일 업로드 및 다운로드

쿼카쿼카·2023년 12월 10일
0

JS / TS

목록 보기
11/14

엑셀 업로드

async function uploadMembersEnrollmentsExcel(e: any) {
  const { files } = e.target;

  if (!uploadExcelValidation(files)) return; // 파일 검증 함수는 따로 만들기

  try {
    const uint8ArrayExcel: Uint8Array = (await excelToUint8Array(files[0])) as Uint8Array;
    
    // 만들어진 파일을 이용해 이후 명령 수행
  }

function excelToUint8Array(file: File) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();

    reader.onload = (e: any) => {
      const arrayBuffer = e.target.result as ArrayBuffer;
      const uint8Array = new Uint8Array(arrayBuffer);
      resolve(uint8Array);
    };

    reader.onerror = (error) => {
      reject(error);
    };

    reader.readAsArrayBuffer(file);
  });
}

엑셀 다운로드

function excelDownload(fileName: string, fileContent: Uint8Array) {
  const url = window.URL.createObjectURL(new Blob([fileContent]));
  const link = document.createElement("a");
  link.href = url;
  link.setAttribute("download", `${fileName}`);
  document.body.appendChild(link);
  link.click();
}
profile
쿼카에요

0개의 댓글