tbe*_*eda 4 google-api google-sheets google-api-client google-drive-api google-sheets-api
我的应用程序生成一个数据表,并在用户的Google云端硬盘中创建一个新的电子表格文档.如何为单个单元格添加格式(颜色,字体粗细,宽度等)?我似乎无法找到任何文档,更不用说我可以通过它来实现这一点google-api-ruby-client.
我的大多数调查结果都追溯到Google API邮件列表,表明它不受支持.
但是,我发现另一个应用程序实现了我想要的结果.将文档导出到Google云端硬盘的"Smartsheet"示例:
来自Smartsheet.com:

在我的Google云端硬盘中生成的表单:

(2017年2月) 从Google I/O 2016开始,开发人员现在可以使用Google表格API格式化单元格.这是一个简短的Python示例,它将第一行加粗(假设文件ID是SHEET_ID并且SHEETS是API服务端点):
DATA = {'requests': [
{'repeatCell': {
'range': {'endRowIndex': 1},
'cell': {'userEnteredFormat': {'textFormat': {'bold': True}}},
'fields': 'userEnteredFormat.textFormat.bold',
}}
]}
SHEETS.spreadsheets().batchUpdate(
spreadsheetId=SHEET_ID, body=DATA).execute()
Run Code Online (Sandbox Code Playgroud)
如果有帮助,我也就这个主题制作了一个开发者视频(见下文).顺便说一句,您可以在Ruby中执行相同的操作(请参阅其API快速入门示例)或Google API客户端库支持的任何其他语言.
Sheets API提供旧版本中不可用的功能,即为开发人员提供对Sheet的编程访问,就像使用用户界面一样(冻结行,单元格格式[!],调整行/列大小,添加数据透视表,创建图表等) ).如果您是API新手,我已经制作了一些视频,其中包含更多"真实世界"的示例:
如您所知,Sheets API主要用于如上所述的面向文档的功能,但是要执行文件级访问,例如导入/导出,复制,移动,重命名等,请改用Google Drive API.
小智 4
Smartsheet 利用 Google API 的功能导入 Excel 文件。代码大致是这样的:
DocsService client = new DocsService(<YOUR APP NAME>);
client.setOAuthCredentials(<OAUTH PARAMETERS>);
DocumentListEntry newEntry = new SpreadsheetEntry();
newEntry.setMediaSource(new MediaByteArraySource(<EXCEL FILE BYTE ARRAY OUTPUT STREAM>, DocumentListEntry.MediaType.XLS.getMimeType()));
newEntry.setTitle(new PlainTextConstruct(<FILE NAME>));
DocumentListEntry insertedEntry = client.insert(new URL("https://docs.google.com/feeds/default/private/full/"), newEntry);
// This is your URL to the new doc
String docUrl = insertedEntry.getDocumentLink().getHref();
Run Code Online (Sandbox Code Playgroud)
我们已经能够通过 Apache POI 将 Smartsheet 导出到具有格式设置的 Excel 文件。添加导出到 Google 电子表格对我们来说实现起来非常简单,并且它提供了一些超出您可以通过 API 执行的附加功能。
抱歉回复延迟 - 刚刚遇到这个问题。
| 归档时间: |
|
| 查看次数: |
4004 次 |
| 最近记录: |