7

在阅读了很多关于 Google 电子表格 API 的内容后,我得出的结论是格式化(例如合并单元格、更改字体等)只能通过 Apps 脚本使用。

由于我们需要在后端使用 Java 以编程方式创建和填充电子表格,我想我也需要这样做;

  • 将新工作表链接到触发加载
  • 创建一个为我创建电子表格的 Apps 脚本。

有谁知道?

4

2 回答 2

11

如果您只想“创建”电子表格,则无需在打开电子表格时加载脚本。开发一个运行一次并为您创建电子表格的脚本可能更容易。

另一个提示是拥有一个模板文件,您可以复制该模板文件,其中大部分格式(如果不是全部)已经存在。可能只是与新电子表格将拥有的真实数据相关的小事情。

编辑以回答标题中的问题。

不,您不能以编程方式将脚本添加到现有电子表格,只能手动添加。您可以做的是预先设置一个包含脚本的模板电子表格,然后通过复制此模板来创建新的电子表格。

(回答评论)

您可以以编程方式运行脚本,但不能上传。要运行脚本,您可以将其部署为 web 应用程序并使用 http get 或 post 调用其 url(将调用它的doGetordoPost函数,您必须已声明)。此外,您可以将此脚本设置为在任何电子表格表单的表单提交上运行,并且只需向该表单提交一组答案。最后(我现在能想到的)你可以将脚本作为库添加到另一个 Apps 脚本中并直接调用它。

于 2012-11-04T13:59:31.183 回答
3

(2016 年 8 月)除了手动之外,无法以编程方式链接 Google 表格和 Apps 脚本代码。根据您似乎想要的内容(“使用 Java 以编程方式创建和填充电子表格”),您现在可以在没有Apps 脚本的情况下执行此操作。

TL;DR:以上,@ Henrique已经回答了多个问题,甚至是没有被问到的问题!好消息是,今天,我们有更多的答案代表您正在寻找的替代可能解决方案。

  1. 现在可以使用导入/导出系统以编程方式“上传”应用程序脚本代码,例如使用 Eclipse,因为您是 Java 开发人员(2013 年公告)。
  2. 我同意 Henrique 的建议,即如果您创建电子表格模板,即 Excel 文件,您可以使用Google Drive API以编程方式导入/创建具有所有所需格式的相同 Google 表格。
  3. “格式化(例如合并单元格、更改字体等)”现在可以在 Apps 脚本之外完成,因为有一个 “新的”Google Sheets API v4(不是GData)。

为了使用新的 API,您需要获取适用于 Java 的 Google APIs 客户端库并使用最新的Sheets API,它比任何以前的 API 都更加强大和灵活。这是一个帮助您入门的代码示例。如果您对 Python 没有“过敏”,我还制作了一个视频,其中包含一个不同的、稍长的示例来介绍新的 API,并通过您可以从中学习的博文深入了解代码。

请注意,v4 API 允许您创建电子表格和工作表、上传和下载数据,以及在一般意义上以编程方式访问工作表,就像您使用用户界面一样(创建冻结行、执行单元格格式化、调整行大小/列、添加数据透视表、创建图表等),但要执行文件级访问,例如上传和下载、导入和导出(与上传和下载相同,但转换为/从 Google Apps 格式),您将使用 Drive取而代之的是 API。

于 2016-08-10T21:07:31.487 回答