vb.net - 如何使用 vb.net 在现有的 google 电子表格中插入新工作表?
问题描述
我设法使用以下代码在谷歌驱动器上创建电子表格。现在我想在创建的电子表格中添加新工作表。
当我创建新电子表格时,它包含名为 Sheet1 的默认工作表,但我想重命名该工作表或在电子表格中插入多个工作表
Public Function Create(ByVal FileName As String) As String
Try
Dim service = GetGoogleAPPDriveService()
Dim fileMetadata = New Google.Apis.Drive.v3.Data.File()
fileMetadata.Name = FileName
fileMetadata.MimeType = "application/vnd.google-apps.spreadsheet"
Dim request As FilesResource.CreateRequest = service.Files.Create(fileMetadata)
request.SupportsTeamDrives = True
request.Fields = "id"
System.Net.ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf AcceptAllcertification)
Dim file = request.Execute
Return file.Id
Catch ex As Exception
Throw ex
End Try
End Function
Private Function GetGoogleAPPDriveService() As DriveService
Try
Dim Scopes1 As String() = {DriveService.Scope.Drive, DriveService.Scope.DriveFile}
Dim ClientId As String = ""
Dim ClientSecret As String = ""
Dim UserCredentials As UserCredential
Dim stream = New FileStream("credentials.json", FileMode.Open, FileAccess.Read)
ClientId = GoogleClientSecrets.Load(stream).Secrets.ClientId
Dim stream1 = New FileStream("credentials.json", FileMode.Open, FileAccess.Read)
ClientSecret = GoogleClientSecrets.Load(stream1).Secrets.ClientSecret
Dim cs = New ClientSecrets()
cs.ClientId = ClientId
cs.ClientSecret = ClientSecret
UserCredentials = GoogleWebAuthorizationBroker.AuthorizeAsync(cs, Scopes1, Environment.UserName,
CancellationToken.None, New FileDataStore("MyAppsToken", True)).Result
Dim service = New DriveService(New BaseClientService.Initializer() With {
.HttpClientInitializer = UserCredentials,
.ApplicationName = ApplicationName})
Return service
Catch ex As Exception
Throw ex
End Try
End Function
Public Function AcceptAllcertification(ByVal sender As Object, ByVal Certification As X509Certificate, ByVal Chain As X509Chain, ByVal sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
Return True
End Function
解决方案
为此,您需要使用Sheets API。看看AddSheetRequest
推荐阅读
- mysql - 从 Node.js Cloud Function 插入到 Google Cloud SQL
- java - 为什么当它与我的正则表达式匹配时这个布尔值没有改变?
- asp.net-mvc - 如何在不使用 model.Count 的情况下获取 Viewbag 的计数
- android - AOSP 我的应用程序未包含在系统构建中
- php - 在 laravel 中使用多个参数的路由会破坏其他参数
- html - 在电子邮件模板的下一行全宽显示表格单元格
- python - 如何遍历具有条件的列中的每个值并创建具有新值的新列
- reactjs - 如何设置列表中的项目
- excel - 从多个 CSV 文件构建 Excel 电子表格
- vim - 在 Vim 中处理缩小的 Javascript/CSS