kintoone으로 템플릿 작성 Excel 다운로드

9044 단어 SheetJSkintone
이번에는 아무래도 엑셀 거푸집도 써야 될 것 같아요.
이것은 아마도 업무에 유용한 맞춤형 제작일 것이다.
※ 포맷이 사라지는 것을 알면💦
미리 만들어진 Excel 파일에서 kintoone의 필드 값을 써서 다운로드하는 응용 프로그램입니다.

어플리케이션 준비


응용 프로그램은 파일 배치에 있는 응용 프로그램과 Excel에 기록된 두 가지 응용 프로그램을 만들 수 있습니다.

파일 배치 응용 프로그램


이 프로그램은 단지 필드를 준비할 뿐입니다.특별히 맞춤형으로 제작되지 않습니다.
필드 유형
필드 코드
시험을 준비하다
부속품
부속품
문자열(단일행)
설명

템플릿으로 Excel 파일을 저장합니다.파일 이름은 무엇이든 좋습니다.
이번에는 A1단원에 무엇을 입력한 뒤 C2단원에'내 이름은 [1의 값]'이라는 엑셀 파일을 만들었다.
※ A1에 어떤 값을 입력한 상태에서 보관할 수 있습니다.

Excel에 기록된 응용 프로그램


필드 유형
필드 코드
시험을 준비하다
스페이스 바
spBtn
문자열(단일행)
이름:
문자열(단일행)
출력 파일 이름
찾다
거푸집
파일 배치에서 레코드 번호 가져오기
문자열(단일행)
템플릿 설명
(검색을 통한 설명 필드)

찾기 설정

JavaScript


Excel에 기록된 응용 프로그램을 사용자정의합니다.
이쪽 프로그램 라이브러리를 사용하세요.
파일을 다운로드하는 동시에sheetjs로 고치려는 칸을 고칩니다.
↓ 파일 다운로드는 여기를 참고하세요.
자세한 내용은 화면 편집 등 좋아하는 이벤트에서 사용하세요.
// スペースフィールドにボタン設置
const sp = kintone.app.record.getSpaceElement("spBtn");
const btn = document.createElement("button");
btn.textContent = "ボタン";
sp.appendChild(btn);

// ボタンクリック
btn.addEventListener("click", async () => {
  const fileKey = await kintone.api(
    kintone.api.url("/k/v1/record.json", true),
    "GET",
    {
      app: kintone.app.getLookupTargetAppId("テンプレート"),
      id: event.record.テンプレート.value,
    }
  );
  const url =
    "https://{サブドメイン名}.cybozu.com/k/v1/file.json?fileKey=" +
    fileKey.record.添付ファイル.value[0].fileKey;

  // ファイルダウンロード 
  const req = new XMLHttpRequest();
  req.open("GET", url);
  req.setRequestHeader("X-Requested-With", "XMLHttpRequest");

  // SheetJS の公式ドキュメントのBrowser download fileを参考に
  req.responseType = "arraybuffer";
  req.onload = (e) => {
    const data = new Uint8Array(req.response);
    const workbook = XLSX.read(data, { type: "array" });
    // Excelのセルを書き換える(
    workbook.Sheets[workbook.SheetNames[0]].A1 = {
      v: kintone.app.record.get().record.名前.value,
    };
    XLSX.writeFile(workbook, event.record.出力ファイル名.value);
  };

  req.send();
});

return event;

동작 확인 & 집계


이렇게 된 느낌!

이번에는 A1의 셀이 규정에 따라 입력되기 때문에 유연하게 조작하려면 목표 셀을 지정하는 데 공을 들여야 한다.

좋은 웹페이지 즐겨찾기