C#通过Google API写入Google Sheets单元格

2023-11-08 23:30

本文主要是介绍C#通过Google API写入Google Sheets单元格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 创建Google APIs项目

访问Google API控制台,点创建项目
在这里插入图片描述
比如项目名称叫“Google Sheets API TEST”
在这里插入图片描述

2. 启用API和服务

确保在“Google Sheets API TEST”项目下,点“启用API和服务”
在这里插入图片描述
找到并选择“Google Sheets API”
在这里插入图片描述

3. 创建凭据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把私钥名字改成“Google Sheets API TEST.json”,回头好用些

4. 创建Google Sheets

新建Google Sheets,比如叫“Google api test”。记下ID,回头代码里要用,这里是10lYeKozl1aR1EXf-Q0Vw2rf7oDnAFN4Rs9eB5iVR3fI
在这里插入图片描述
打开Google Sheets API TEST.json,找到client_email:
在这里插入图片描述
共享“Google api test”,给serviceeditor@circular-unity-278004.iam.gserviceaccount.com编辑权限

把工作表名改为Sheet1,回头代码里要用
在这里插入图片描述

5. 创建解决方案

在VS2017创建控制台应用,解决方案叫GSAPITEST

通过NuGet安装Google API包
在这里插入图片描述
使用命令
PM> Install-Package Google.Apis.Sheets.v4

添加Visual C#类,GoogleSheetsHelper.cs,代码如下

using Google.Apis.Auth.OAuth2;
using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data;
using Google.Apis.Services;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Dynamic;namespace GoogleSheetsHelper
{public class GoogleSheetsHelper{static string[] Scopes = { SheetsService.Scope.Spreadsheets };static string ApplicationName = "GoogleSheetsHelper";private readonly SheetsService _sheetsService;private readonly string _spreadsheetId;public GoogleSheetsHelper(string credentialFileName, string spreadsheetId){var credential = GoogleCredential.FromStream(new FileStream(credentialFileName, FileMode.Open)).CreateScoped(Scopes);_sheetsService = new SheetsService(new BaseClientService.Initializer(){HttpClientInitializer = credential,ApplicationName = ApplicationName,});_spreadsheetId = spreadsheetId;}public List<ExpandoObject> GetDataFromSheet(GoogleSheetParameters googleSheetParameters){googleSheetParameters = MakeGoogleSheetDataRangeColumnsZeroBased(googleSheetParameters);var range = $"{googleSheetParameters.SheetName}!{GetColumnName(googleSheetParameters.RangeColumnStart)}{googleSheetParameters.RangeRowStart}:{GetColumnName(googleSheetParameters.RangeColumnEnd)}{googleSheetParameters.RangeRowEnd}";SpreadsheetsResource.ValuesResource.GetReque

这篇关于C#通过Google API写入Google Sheets单元格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373062

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C#中的 StreamReader/StreamWriter 使用示例详解

《C#中的StreamReader/StreamWriter使用示例详解》在C#开发中,StreamReader和StreamWriter是处理文本文件的核心类,属于System.IO命名空间,本... 目录前言一、什么是 StreamReader 和 StreamWriter?1. 定义2. 特点3. 用