【问题标题】: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 文件(我假设为
xls 或 xlsx)。
- 您想根据来自该文件的数据创建一个 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 来避免这种情况)。
- 从电子表格中提取数据:
然后您可以通过getRange 和getValues 提取您想要的数据。例如,假设您可以从某个工作表中获取所有内容。你可以这样做:
var values = ss.getSheetByName("sheet-name").getDataRange().getValues();
- 通过 XmlService 创建 XML:
最后,如果您使用XmlService,您可以从这些数据中创建一个 XML。在我提供的链接中检查名为 createXml 的函数。它可以让您了解如何创建 XML(我不能更准确,因为您没有提供更多关于您想要做什么的信息)。您可能想要使用的一些重要方法是createDocument 和createElement。
希望对你有帮助。