我有一个查询结果列表,每个查询结果都包含不同于其他对象的对象。每个数据集有一个类型。c#和Linq查询对象[,]
var myQueryresult = _myContext.TableA
.Where(a => a.IsToBeProcessed)
.Select(x => new { ColumnA = x.FieldA, ColumnB = x.FieldB })
.ToList();
的最终目标是使用
Range firstCell = sheet.Cells[1, 1];
Range lastCell = sheet.Cells[data.GetLength(0) + 1, data.GetLength(1)];
sheet.Range[firstCell, lastCell].Value2 = myObjectArrayofObjectArrays;
我似乎无法找到任何方式做到这一点,但循环对结果的每一行以这个数据存储在Excel工作表。
你可以使用一个图书馆一样EPPlus这可以直接从任何集合,数据表或数据读取器加载数据,例如'var range = sheet.LoadFromCollection(myQueryResult)'。 Interop要求在同一台机器上安装Excel。像EPPlus这样的图书馆不需要任何东西 –