gpt4 book ai didi

excel - VSTO Excel : How to make a custom column mapping with ListObject?

转载 作者:行者123 更新时间:2023-12-02 10:03:51 25 4
gpt4 key购买 nike

我有一个这样的模型:

public class Instrument
{
public string Id { get; set; }
public string Name { get; set; }

// About 100 other properties
}

我从 Entity Framework EDM 检索 Instrument 实例。

现在我想做的是能够进行自定义映射以将此数据集绑定(bind)到 Excel ListObject。默认情况下,ListObject 将显示 Excel 工作表中的每一列,但我只想按特定顺序显示一些属性。

ExcelTools.ListObject instrumentsTable = this.Controls.AddListObject(tableStart, tableName);
instrumentsTable.DataSource = myEDM.Instruments;

// Custom mapping code...

我尝试使用 SetDataBinding 方法,但它引发了数据绑定(bind)异常。

有人可以帮助我实现这一目标吗?

谢谢。

最佳答案

我不知道这是否有帮助,但我创建了一个测试项目来执行此操作。测试项目运行没有问题。

首先,我声明一个测试类:

public class Instrument
{
public string Id { get; set; }
public string Name { get; set; }
public string Property1 { get; set; }
public string Property2 { get; set; }

}

我有一个函数 getInstruments,它返回一个列表。

然后我使用以下代码将其绑定(bind)到工作表:

        List<Instrument> list = getInstruments();
ListObject instrumentsTable = Controls.AddListObject(Range["A1", "B4"], "list1");
string[] mappedColumns = { "Name", "Property1" };
instrumentsTable.SetDataBinding(list, string.Empty, mappedColumns);

这将显示一个包含 4 个仪器的工作表,在 A 列和 B 列中显示名称和属性 1。

我还使用 Entity Framework 尝试过此操作,将工作表连接到我的一个数据库,也没有遇到任何问题。

如果您仍然遇到问题,请提供有关使用 SetDataBinding 时遇到的异常的更多信息。

关于excel - VSTO Excel : How to make a custom column mapping with ListObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8051793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com