【发布时间】:2019-09-18 10:05:46
【问题描述】:
我尝试从超过 30 个单元格中获取数据(如果我没记错的话,大约是 40 个),但我始终获得的数据不超过 30 个。如何解决这个问题?
- 在案例 9 - 好的
- 案例 10 - 失败。
Rows 有 30 个项目,但我选择更多
namespace CBox
{
public partial class Form1 : Form
{
static string[] Scopes = { SheetsService.Scope.SpreadsheetsReadonly };
static string ApplicationName = "CBox";
static String spreadsheetId = "1LovVHkHGQYADfgEBMGEaZFTDkSgQEQhQ-FuRZHWkXHo";
String range;
static String credPath = "token.json";
static FileStream stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read);
SpreadsheetsResource.ValuesResource.GetRequest request;
static UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result;
SheetsService service = new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox2.Items.Clear();
range = "A2:AT9";
request = service.Spreadsheets.Values.Get(spreadsheetId, range);
//request.MajorDimension = SpreadsheetsResource.ValuesResource.GetRequest.MajorDimensionEnum.COLUMNS;
ValueRange response = request.Execute();
IList<IList<Object>> values = response.Values;
switch (comboBox1.SelectedIndex)
{
***********
case 9: //120
foreach (var rows in values)
{
if (rows[28] != "" && rows[29] != "")
{
comboBox2.Items.Add(rows[0]);
}
}
break;
case 10: //130
foreach (var rows in values)
{
if (rows[30] != "" && rows[31] != "")
{
comboBox2.Items.Add(rows[0]);
}
}
break;
}
}
}
}
【问题讨论】:
-
另一个excel问题。为了节省空间,Excel 对每个工作表都有一个使用范围。因此,您似乎正在从工作表返回仅 30 列的使用范围。然后您尝试添加超过 30 列。
标签: c# google-sheets-api