有没有办法以编程方式编辑 Office 365 Excel 文档?

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

我必须更新如下所示的电子表格。

enter image description here

一点也不难。我只需转到最后一行并在相应的列中输入我需要的内容。我想自动化这个。我首先尝试的是 Selenium Webdriver,但结果太慢并且时好时坏。我检查的下一件事是 API,但看起来没有任何适用于 Excel 的内容。

我可以使用 Selenium 下载该文件,然后使用 C# 应用程序将其修改为 Excel 文件,然后重新上传。目前我想知道 Google Docs 是否有更简单的解决方案。

那么有什么方法可以以编程方式修改Excel在线电子表格吗?

excel office365api
3个回答
10
投票

我知道通过 JavaScript 或 REST 以编程方式修改 Excel Online 的 4 个选项:

  1. Office 加载项平台:https://dev.office.com/docs/add-ins/overview/office-add-ins
  2. Excel Services JavaScript API - EWA Excel Web Access 命名空间(几年未更新):https://msdn.microsoft.com/en-us/library/hh315812(v=office.14).aspx
  3. Excel Services REST API(通过 SharePoint Online):https://msdn.microsoft.com/en-us/library/ee556842(v=office.14).aspx
  4. Microsoft Graph REST API(Excel 对象目前处于测试阶段):https://graph.microsoft.io/en-us/docs/api-reference/beta/resources/excel

1
投票

我不知道什么时候可以,但现在您可以向表中添加行并且很容易在图形浏览器上进行测试。

请记住,首先您需要通过 api 或在 文档中设置一个表。

来自文档:

将行添加到表格末尾。请注意,该 API 可以使用此 API 接受多行数据。一次添加一行可能会导致性能下降。推荐的方法是在一次调用中将行批处理在一起,而不是进行单行插入。为了获得最佳结果,请在应用程序端收集要插入的行并执行单行添加操作。试验行数以确定在单个 API 调用中使用的理想行数。


0
投票
我过去使用过的一种方法是使用sheet2api 与Excel 工作表进行交互。然后你不需要自己处理身份验证密钥等,只需给你的代码一个 URL 就可以了。

例如更新与查询“Column1=EMPTY”匹配的所有行

using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; class Program { static async Task Main(string[] args) { // NOTE: this URL will change for yourself var url = "https://sheet2api.com/v1/6YI2EppRzOPP/exmaple-sheet/?Column1=EMPTY"; var data = new { Column1 = "example value", Column2 = "example value", Column3 = "example value" }; var json = JsonConvert.SerializeObject(data); var content = new StringContent(json, Encoding.UTF8, "application/json"); using var client = new HttpClient(); var response = await client.PutAsync(url, content); if (response.IsSuccessStatusCode) { var responseBody = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject(responseBody); Console.WriteLine(result); } else { Console.WriteLine($"Error: {response.StatusCode}"); } } }
更多信息请点击这里

https://sheet2api.com/excel-sheet-to-json-api/

© www.soinside.com 2019 - 2024. All rights reserved.