【问题标题】:Writing xml file and saving to drive in google script在谷歌脚本中编写xml文件并保存到驱动器
【发布时间】:2020-01-13 10:14:59
【问题描述】:

我想从 Excel 表格中获取信息并手动将其转换为 xml 文件格式,然后仅使用代码将其保存到谷歌驱动器中。 我想知道谷歌工作表脚本编辑器中节点 js 中的 xmlbuilder 是否有等效项。 谢谢,我希望我已经足够清楚了。

【问题讨论】:

标签: javascript xml google-sheets google-drive-api google-sheets-formula


【解决方案1】:

如果我理解正确的话:

  • 您在云端硬盘中有一个 Excel 文件(我假设为 xlsxlsx)。
  • 您想根据来自该文件的数据创建一个 XML 文件。
  • 您想使用Google Apps Script 实现此目的。

如果是这种情况,一种方法可能是按照以下步骤操作:

- 转换为 Google 电子表格:

一种方法是首先将原始文件转换为可供 SpreadsheetApp 使用的 Google 电子表格,然后从中提取数据。为此,您可以执行以下操作:

var xlsId = "your-file-id";
var xls = DriveApp.getFileById(xlsId);
var blob = xls.getBlob();
var file = Drive.Files.insert({}, blob, {convert:true});
var id = file["id"];
var ss = SpreadsheetApp.openById(id);

此代码使用Advanced Drive Service 从您通过Drive.Files.insert 从 excel 文件获得的 blob 创建 Google 电子表格。然后,您可以通过 SpreadsheetApp 轻松访问这个新创建的文件。

(请记住,每次运行它都会创建一个新文件。使用Files.delete 来避免这种情况)。

- 从电子表格中提取数据:

然后您可以通过getRangegetValues 提取您想要的数据。例如,假设您可以从某个工作表中获取所有内容。你可以这样做:

var values = ss.getSheetByName("sheet-name").getDataRange().getValues();

- 通过 XmlService 创建 XML:

最后,如果您使用XmlService,您可以从这些数据中创建一个 XML。在我提供的链接中检查名为 createXml 的函数。它可以让您了解如何创建 XML(我不能更准确,因为您没有提供更多关于您想要做什么的信息)。您可能想要使用的一些重要方法是createDocumentcreateElement

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多