将 .xlsx 文件转换为 GoogleSheet 以便使用 importrange 的脚本

问题描述 投票:0回答:1

是否可以为 AppScript 创建一个充当 xlsx 转换器的脚本?我知道有一种更简单的方法可以使用“另存为”进行转换。但我希望旧文件仍在使用。

  1. 这样做的目的是因为我想导入多个文件的范围,而有些文件在 xlsx 中,这是行不通的。
google-sheets
1个回答
0
投票

是的,可以创建一个 Google Apps 脚本,将存储在 Google 云端硬盘中的

.xlsx
文件转换为 Google 表格,以便您可以使用
IMPORTRANGE
功能。

function convertXlsxToGoogleSheet() {
  // Replace 'FOLDER_ID' with the folder ID where your .xlsx files are stored
  const folderId = 'FOLDER_ID'; 
  const folder = DriveApp.getFolderById(folderId); 
  const files = folder.getFilesByType(MimeType.MICROSOFT_EXCEL);
  
  while (files.hasNext()) {
    const file = files.next();
    const fileName = file.getName();
    
    // Skip if the file is already a Google Sheet
    if (fileName.endsWith(".xlsx")) {
      Logger.log(`Converting file: ${fileName}`);
      
      const blob = file.getBlob(); 
      const sheet = SpreadsheetApp.create(fileName.replace(".xlsx", ""));
      
      // Import the content of the xlsx file into the new Google Sheet
      Drive.Files.insert(
        { title: fileName.replace(".xlsx", ""), mimeType: MimeType.GOOGLE_SHEETS },
        blob
      );
      
      Logger.log(`Converted ${fileName} into Google Sheet: ${sheet.getUrl()}`);
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.