kintoone 첨부 파일 다시 쓰기 및 업로드
※ 단, 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에 추가합니다.
다운로드도 할 수 있어요.
Reference
이 문제에 관하여(kintoone 첨부 파일 다시 쓰기 및 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/juri_don/items/9f42bef3d9220b836f5a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사용할 프로그램 라이브러리는 다음과 같은 두 가지가 있다.
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에 추가합니다.
다운로드도 할 수 있어요.
Reference
이 문제에 관하여(kintoone 첨부 파일 다시 쓰기 및 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/juri_don/items/9f42bef3d9220b836f5a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(kintoone 첨부 파일 다시 쓰기 및 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/juri_don/items/9f42bef3d9220b836f5a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)