我有一个表格,你的数据每周都会改变,在一些单元格中它是空的,偶尔它会给我带来一个错误,因为显然它只能读取不是空的值,我想知道我如何能读取它,即使它不会给我带来任何数据。
例如,我想读取E2的空单元格。
到目前为止,我在项目中所做的工作
{
UserCredential credential;
using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
{
string creadPath = "token.json";
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore(creadPath, true)).Result;
label1.Text = "Conected with sheet";
}
var service = new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName
});
{
var LimiteOP = $"{sheet}!B3:E3";
SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(SpreadSheetId, LimiteOP);
var response = request.Execute();
IList<IList<Object>> values = response.Values;
if (values.Count > 0)
{
foreach (var row in values)
{
Console.WriteLine(row[0]+" "+ row[1]+" " + row[2]);
}
}
else
{
Console.WriteLine("Nothing");
}
更新 (来自评论): "consolewrite给出了异常"
编辑
解决问题的方式作为一个简单的过程,转化的方式。object
到 string
然后用 Split
去掉空位
String[] str = row[0].ToString().Split(null);
Console.WriteLine(str[0]);
这是我在解决方案中的做法。
row.ElementAtOrDefault(1)?.ToString() ?? ""
最后的""是默认值