在 C# 中从智能表中检索行数据
本文关键字:检索 数据 智能 | 更新日期: 2023-09-27 18:33:13
我希望能够从 C# 中的特定列中检索数据行作为列表。因此,如果有一列人员身高,它将在列表中列出这些身高。可能还会列出 x,y 值表示特定日期的苹果数量。
我已经查看了API信息中给出的示例,找不到有关如何执行此操作的任何示例 - 它们主要包括创建文件夹,用户或列出文件夹或工作表或在智能工作表等上输入信息,但没有实际获取数据。
这是我看过的代码:https://github.com/smartsheet-platform/samples/tree/master/c%23https://github.com/smartsheet-platform/smartsheet-csharp-sdk
但我实际上想将数据作为列表拉出,然后在 C# 中为最终用户处理它,所以我不想把它放回 smartsheet 中。
执行此操作的唯一方法是使用 API 将文件下载为 Excel 工作表并从那里开始吗?如果可能的话,我真的很想跳过这一步?
我应该补充一点,我想使用 C# SDK 来做到这一点。
我认为我需要输入(我认为(的特定代码是这个才能获得工作表。
// Set the Access Token
Token token = new Token();
token.AccessToken = "INSERT_YOUR_TOKEN_HERE";
long id = "INSERT SHEET ID HERE";
// Use the Smartsheet Builder to create a Smartsheet
SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(
token.AccessToken).Build();
//Code to get sheet
smartsheet.Sheets().GetSheet(long id, **IEnumerable<ObjectInclusion?includes**).Rows();
这是我不确定他们需要什么的最后一个参数。它在GetSheet方法中说:
工作表获取表( 长 id, IE可枚举包括)
下面是指向 ObjectInclusion 枚举的链接 - http://smartsheet-platform.github.io/smartsheet-csharp-sdk/html/T_Smartsheet_Api_Models_ObjectInclusion.htm
这是一个在每张纸中打印单元格数据的示例。
// Set the Access Token
Token token = new Token();
token.AccessToken = "YOUR_TOKEN";
// Use the Smartsheet Builder to create a Smartsheet
SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(token.AccessToken).Build();
// Gets just a list of sheets (not the actual data in the sheet)
IList<Sheet> homeSheets = smartsheet.Sheets().ListSheets();
foreach (Sheet tmpSheet in homeSheets)
{
Console.WriteLine("========== New Sheet: " + tmpSheet.Name);
// Get the sheet with the data
Sheet sheet = smartsheet.Sheets().GetSheet((long)tmpSheet.ID, new ObjectInclusion[] { ObjectInclusion.DATA, ObjectInclusion.COLUMNS });
int rowCount = 0;
foreach (Row tmpRow in sheet.Rows)
{
Console.Write(rowCount++ + ": ");
foreach (Cell tmpCell in tmpRow.Cells)
{
Console.Write(tmpCell.Value + "|");
}
Console.WriteLine();
}
}
要回答您的其他一些问题:
执行此操作的唯一方法是使用 API 将文件下载为 Excel 工作表并从那里开始吗?如果可能的话,我真的很想跳过这一步?
C# SDK 和 API 都支持检索部分或全部工作表数据的功能。您无需将工作表下载为 Excel 文件即可处理工作表中的数据。
我不确定他们需要什么。它在 GetSheet 方法中说:Sheet GetSheet( long id, IEnumerable
(
IEnumerable 只是一个可迭代的集合。可以将任何集合用于实现此接口的第二个参数。集合应在其列表中包含 ObjectInclusion 项。在我的示例中,我使用了一个数组,因为它实现了实现 IEnumerable 的 IList。