【问题标题】:Excel Table Columns without Data, or Schema没有数据或架构的 Excel 表列
【发布时间】:2017-04-06 08:04:14
【问题描述】:

我正在尝试将表的行加载到类型化集合中。我熟悉依赖于将行数据放入字符串数组的“BuildList”示例。但是,如果用户插入列或重新排列表中的列位置,这不是很可靠。所以我想得到一个列列表及其在表格中的序号位置。

最好的方法是什么? /Rows 调用不会带回列名,/Columns 很好,但它也会带回所有列的所有数据。有没有办法恢复 Columns 但没有数据或其他调用来描述表模式(尽管我不希望获得数据类型)。

更新 我正在使用此处的示例应用程序:https://github.com/microsoftgraph/aspnet-donations-rest-sample/blob/master/Microsoft-Graph-ASPNET-Excel-Donations/ExcelAPIHelper.cs。具体来说,BuildList 方法使用硬编码的字符串数组引用(第 108-112 行)。这是非常脆弱的,如果用户重新排列 excel 文件中的列,或者插入一个额外的列,就会中断。

我想从没有数据的表中获取列列表。 List Columns 方法(即 table('MyTable')/columns)也返回每列的所有数据值)。参见参考:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/table_list_columns。 ) 我希望这更清楚。

【问题讨论】:

  • 您能否更具体地说明您想要做什么以及到目前为止您已经执行了哪些步骤?例如,“/Rows call”究竟指的是什么?添加您尝试过的代码以及使用该代码获得的结果也会有所帮助。
  • 查看更新。

标签: excel microsoft-graph-api


【解决方案1】:

我发现您可以使用 OData 查询参数,只需使用 $select=name,index 拉回列的名称和索引。

https://graph.microsoft.com/beta/drives/omitted/items/omitted/workbook/worksheets('Sheet2')/tables('Table2')/Columns?$select=name,index

以及生成的 json

{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#drives('omitted')/items('omitted')/workbook/worksheets('Sheet2')/tables('Table2')/columns(name)",
"value": [
    {
        "@odata.id": "/drives('omitted')/items('omitted')/workbook/worksheets(%27%7B00000000-0001-0000-0100-000000000000%7D%27)/tables(%272%27)/columns(%279%27)",
        "id": "9",
        "name": "Date"
    },
    {
        "@odata.id": "/drives('omitted')/items('omitted')/workbook/worksheets(%27%7B00000000-0001-0000-0100-000000000000%7D%27)/tables(%272%27)/columns(%2710%27)",
        "id": "10",
        "name": "Time"
    },
    {
        "@odata.id": "/drives('omitted')/items('omitted')/workbook/worksheets(%27%7B00000000-0001-0000-0100-000000000000%7D%27)/tables(%272%27)/columns(%2711%27)",
        "id": "11",
        "name": "Rink"
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多