kintoone 첨부 파일 다시 쓰기 및 업로드

이번에는 첨부 파일이 업데이트된 Excel 파일을 업로드하는 사용자 정의입니다.
※ 단, Excel의 형식은 사라집니다(〃)
첨부 파일 A의 Excel 파일 내용을 덮어쓰고 첨부 파일 B에 업로드합니다.

어플리케이션 준비


필드 유형
필드 코드
시험을 준비하다
스페이스 바
spBtn
버튼 설정용
부속품
첨부 파일 A
다시 쓰기
부속품
첨부 파일 B
다시 쓰는 거 올리기.

첨부 파일의 Excel 파일은 마지막으로 사용한 Excel 파일을 사용합니다.

JavaScript


사용할 프로그램 라이브러리는 다음과 같은 두 가지가 있다.
JavaScript/CSS를 사용하여 미리 사용자 정의로 설정합니다.https://unpkg.com/@kintone/rest-api-client@latest/umd/KintoneRestAPIClient.min.js https://unpkg.com/xlsx/dist/xlsx.full.min.js자세한 화면이 나타나면 이벤트에 다음 코드를 씁니다.
// スペースフィールドにボタン設置
const sp = kintone.app.record.getSpaceElement("spBtn");
const btn = document.createElement("button");
btn.textContent = "ボタン";
sp.appendChild(btn);

// ボタンクリック
btn.addEventListener("click", async () => {
  const obj = kintone.app.record.get();
  const client = new KintoneRestAPIClient();
  // 添付ファイルAに添付のエクセルファイルを読み込む
  const data = await client.file.downloadFile({
    fileKey: obj.record["添付ファイルA"].value[0].fileKey,
  });
  // 添付ファイルAフィールドのエクセルファイルのセルA1の値を"あいうえお"にする
  const workbook = XLSX.read(data, { type: "array" });
  workbook.Sheets[workbook.SheetNames[0]].A1 = {
    v: "あいうえお",
  };
  // "あいうえお"にしたデータをExcelファイルにする
  const wo = XLSX.write(workbook, { type: "array" });
  // ダウンロードする(ついでに)
 XLSX.writeFile(workbook, "あいうえおにした.xlsx");
  // 作ったExcelファイルをアップロードして添付ファイルBフィールドに添付する
  const FILE = {
    name: "あいうえおにした.xlsx",
    data: wo,
  };
  const { fileKey } = await client.file.uploadFile({
    file: FILE,
  });
  await client.record.updateRecord({
    app: kintone.app.getId(),
    id: kintone.app.record.getId(),
    record: {
      添付ファイルB: {
        value: [{ fileKey }],
      },
    },
  });
  // 画面更新
  location.reload();
});

동작 확인 & 집계


첨부 파일 A의 내용을 덮어쓰고 첨부 파일 B에 추가합니다.
다운로드도 할 수 있어요.

좋은 웹페이지 즐겨찾기