我有一个复杂的对象(树结构),我将它展平成一个数据表,以显示在Excel工作表上.数据表很大,有大约20000行和10000列.
一次一个地将数据写入excel单元需要永远.因此,我将复杂对象转换为数据表,然后使用下面的代码将其写入excel表.
是否可以在不到一分钟或<5分钟内相当快速地将20K行x 10K列数据写入excel表?什么是快速完成这项任务的最佳技术.
环境:Visual Studio 2010,VSTO excel工作簿项目,.net framework 4.0,excel 2010/2007
编辑:
原始数据源是json格式的休息服务响应.然后我将json响应反序列化为c#对象,最后将其展平为数据表.
使用此代码将数据表写入Excel工作表:
Excel.Range oRange;
var oSheet = Globals.Sheet3;
int rowCount = 1;
foreach (DataRow dr in resultsDataTable.Rows)
{
rowCount += 1;
for (int i = 1; i < resultsDataTable.Columns.Count + 1; i++)
{
// Add the header the first time through
if (rowCount == 2)
{
oSheet.Cells[1, i] = resultsDataTable.Columns[i - 1].ColumnName;
}
oSheet.Cells[rowCount, i] = dr[i - 1].ToString();
}
}
// Resize the columns
oRange = oSheet.get_Range(oSheet.Cells[1, …Run Code Online (Sandbox Code Playgroud) 在.net中有这么多类型的例外的目的是什么?为什么不使用Exception?
其中一些是EndOfStreamException,FileLoadException,FileNotFoundException,IOException,InvalidTimeZoneException ......
以下查询有什么问题,我收到此错误: Nullable对象必须有一个值.
Dim subscriptionUsers = From inv In dataContext.Invoices.ToList Join u In dataContext.Users _
On inv.Subscription Equals u.Subscription _
Where inv.Id.Value = invoiceID _
And Not u.Fund.Title.Contains("AGM") _
And DirectCast(IIf(Not u.EndDate.HasValue, IIf(u.StartDate.Value <= inv.EndDate.Value, True, False), _
IIf((u.StartDate.Value >= inv.StartDate.Value And u.StartDate.Value <= inv.EndDate.Value) Or _
(u.EndDate.Value >= inv.StartDate.Value And u.EndDate.Value <= inv.EndDate.Value) Or _
(u.StartDate.Value < inv.StartDate.Value And u.EndDate.Value > inv.EndDate.Value), True, False)), Boolean) _
Group By Key = u.Fund.Title Into Group _
Select Fund = Key, UsersCount = …Run Code Online (Sandbox Code Playgroud) 前几天我正在查看其中一个职位发布,并惊讶地发现这个要求."标准数据结构知识(b树,链表,散列)和标准算法(排序,合并,b搜索)"
主要要求是.NET 3.5,C#UI Programmer.我在大学里研究过他们,但从来没有机会实施它们.
你们有多少人在不使用.net类的情况下编写代码进行排序或搜索?为什么Sr.net开发人员应该关注这些数据结构和算法,因为有这么多.net类可用?