GAS 여러 Excel을 함께 스프레드시트로 변환합니다.
4985 단어 GoogleAppsScriptgas
이 기사에 대하여
GAS를 사용하여 여러 Excel 파일을 스프레드 시트로 변환하는 방법에 대한 메모입니다.
변환하면 레이아웃이 무너지거나 ".xlsm"형식의 파일 변환의 경우 매크로를 사용할 수 없게 되기 때문에 이용은 자기 책임으로 부탁드립니다.
폴더와 파일을 준비합니다.
아래 폴더를 준비합니다. excelfile 변환 전 폴더에 테스트용으로 Excel을 몇 개 저장해 둡니다.
excelfile 변환 전 폴더
코드
/*
フォルダ単位でまとめて変換する。
*/
const sourceFolderId = 'フォルダID';
const destFolderId = 'フォルダID';
function myFunction() {
// Excelファイルが入っているフォルダをidによって取得
const sourceFolder = DriveApp.getFolderById(sourceFolderId);
// Excelファイルたちを変数に保存
const excelFiles = sourceFolder.getFiles();
// 変換されたファイルが格納されるフォルダをidによって取得
const destFolder = DriveApp.getFolderById(destFolderId);
// Excelファイルをイテレートして順にスプレッドシートに変換
while(excelFiles.hasNext()) {
var file = excelFiles.next();
convertToSpreadsheet(file, destFolder);
}
}
function convertToSpreadsheet(file, folder) {
// 各種オプションを設定
// mimeTypeをスプレッドシートにすることで変換される
options = {
title: file.getName(),
mimeType: MimeType.GOOGLE_SHEETS,
parents: [{id: folder.getId()}]
};
// Drive APIへfileをPOSTする
Drive.Files.insert(options, file.getBlob())
}
결과
excelfile 변환된 폴더를 살펴보면 파일이 새로워졌습니다.
확장자는 ".xlsm"이지만 파일 아이콘은 스프레드시트의 아이콘이 되며 파일의 속성을 확인하면 스프레드시트가 되어 있는 것을 확인할 수 있습니다.
파일을 변환 한 후 스프레드 시트로 작업하고 싶습니다.
변환 후의 파일 ID를 취득해 조작하려면, 파일을 보존한 곳에서 변수에 넣으면 파일 정보의 오브젝트가 돌려주므로, 그 안의 id 프로퍼티로부터 파일 id를 취득한다.
var file = Drive.Files.insert(options, file.getBlob());
let sp = SpreadsheetApp.openById(file.id).getSheets();
Reference
이 문제에 관하여(GAS 여러 Excel을 함께 스프레드시트로 변환합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jooji/items/d7ac1c4114da7436b894
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var file = Drive.Files.insert(options, file.getBlob());
let sp = SpreadsheetApp.openById(file.id).getSheets();
Reference
이 문제에 관하여(GAS 여러 Excel을 함께 스프레드시트로 변환합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jooji/items/d7ac1c4114da7436b894텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)