gpt4 book ai didi

c# - 使用 LINQ to SQL 查询中的数据填充 Excel

转载 作者:行者123 更新时间:2023-11-30 12:19:10 25 4
gpt4 key购买 nike

我正在尝试使用 OLE 将一些数据从 C# 中的 LINQ 查询发送到 Excel 速度表

我有这样的查询:

Var data = from d in db.{MyTable}
where d.Name = "Test"
select d;

我的 Excel OLE 对象工作正常,但我不知道如何使用 LINQ 查询中的数据填充 Excel 中的单元格。

PS:如果有任何不同,我使用的是 Excel 2003。

谁能帮我解决这个问题?

最佳答案

为每个 Excel 单元格发送单独的 OLE 命令非常慢,因此关键是创建一个对象数组,如下所示:

int noOfRows = data.Count - 1;
int noOfColumns = mydataclass.GetType().GetProperties().Count() - 1;
Object[noOfRows, noOfColumns] myArray;

发送对象数组允许您发送混合数据类型,例如字符串、整数、日期等。但是,如果您知道数据都是文本,例如,您可以只发送一个字符串数组。

数组需要通过分配每个单独的值或可能通过使用反射来获取数据对象属性来从查询中填充。然后您可以像这样将数组发送到 Excel:

XLOLESheetobj.Range("A1","Z20").Value = myArray;

您可以将 Z20 替换为列数 -> 字符 + 行数 -> 字符串。

关于c# - 使用 LINQ to SQL 查询中的数据填充 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/376524/

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