【发布时间】:2018-01-29 01:59:46
【问题描述】:
我有一种方法可以使用 restsharp 从网站中提取 csv。
class ScheduledBilling
{
public string Report()
{
var client = new RestClient("http://example.com");
client.CookieContainer = new System.Net.CookieContainer();
client.Authenticator = new SimpleAuthenticator("username", "xxx", "password", "xxx");
var request = new RestRequest("/login", Method.POST);
IRestResponse response = client.Execute(request);
var ScheduledBilling = client.DownloadData(new RestRequest("/file));
var csv = System.Text.Encoding.Default.GetString(ScheduledBilling);
return(csv);
}
}
主要是,我一直在使用教程和快速入门的组合,以便我可以将信息输入到谷歌表格中。
//ScheduledCRMBilling.Report();
ScheduledCRMBilling obj = new ScheduledCRMBilling();
string csv = obj.Report();
String spreadsheetId2 = "xxx";
String range1 = "Scheduled Billing";
ValueRange valueRange1 = new ValueRange();
valueRange1.MajorDimension = "ROWS";//"ROWS";//COLUMNS
var oblist1 = new List<object>() { csv };
SpreadsheetsResource.ValuesResource.UpdateRequest update1 = service.Spreadsheets.Values.Update(valueRange1, spreadsheetId2, range1);
update1.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.RAW;
UpdateValuesResponse result1 = update1.Execute();
Console.WriteLine("done!");
我已将范围设置为整个工作表(计划帐单)。发生的情况是第一个单元格填充了 csv 中的所有信息,而不是像您将 csv 导入谷歌表格一样。我应该如何进行? 我觉得好像我应该将 csv 变量作为字符串列表传递,这将在每个单元格中放置一个字符串。但是我不知道它是如何知道何时该换一条新线的。
【问题讨论】:
-
查看此答案stackoverflow.com/a/42367466/5209435.The 问题是关于 python 但在链接的 google 参考文档中,您可以选择 .NET。
-
我实际上只是在看那个。如果您有多个范围,我认为使用了 batchUpdate?在这种情况下,不是选择整个工作表一个范围吗?另外我不确定如何结合这两个来源,文档对初学者不是很友好......就像我不确定如何传递 pastedatarequest
-
您可以使用 Google Drive API 代替 Sheets API 吗?
-
如果我走那条路,我实际上会更加迷失。如何将 pastedatarequest 与批处理更新一起使用?文档似乎非常缺乏。
-
由于您没有足够的代表聊天,请加入我discord.gg/cR3q5f。那我会尽力帮助你。完全披露我以前从未使用过 Google 表格或云端硬盘 API。
标签: c# csv restsharp google-sheets-api