【发布时间】:2011-10-26 10:30:23
【问题描述】:
我有一个包含多个列的 DataTable,包括 AccountNumber、Year 和 Month。我正在将此表中的信息导出到 Excel 工作簿。由于这张表有可能非常大,所以我必须检查表中的记录数(因为Excel只能有65536行或类似的东西。如果原始表足够小,我需要将所有记录放入在单个工作表中。如果一个工作表的记录太多,我需要根据 AccountNumber 将记录分成多个工作表。此外,如果特定 AccountNumber 的记录太多,那么我需要将该 AccountNumber 拆分为多个工作表基于年份。如果特定年份仍然有太多记录,那么我必须按月份拆分它们。
例如:
如果我总共有 500,000 条记录,我必须通过 AccountNumber 拆分它们:
工作表名称----记录数
- 1111 ---- 150,000
- 2222 ---- 50,000
- 3333 ---- 100,000
然后我需要根据年份将帐户 1111 和 3333 拆分为多个工作表。然后我会有这样的东西:
工作表名称----记录数
- 1111 - 2010 ---- 50,000
- 1111 - 2011 ---- 100,000
- 2222 ---- 50,000
- 3333-2010 ---- 50,000
- 3333-2011 ---- 50,000
然后,由于 1111 - 2011 仍然太大,我不得不根据月份拆分那个,最后给出:
工作表名称----记录数
- 1111-2010 ---- 50,000
- 1111-201105 ---- 30,000
- 1111-201106 ---- 30,000
- 1111-201107 ---- 40,000
- 2222 ---- 50,000
- 3333-2010 ---- 50,000
- 3333-2011 ---- 50,000
用于创建 Excel 文件的代码是我公司编写的一个项目。为简单起见,该函数接受一个 DataTable 并以 Excel 电子表格的格式写出 DataTable 中的记录。关于如何在不调用数据库的情况下做到这一点的任何想法?提前致谢。
【问题讨论】:
-
仅供参考,Excel 2007 及更高版本可以有 100 万行。
-
是的,但是我们公司的一些电脑还在使用2003
-
似乎升级它们可能更容易;)
-
我完全同意,但遗憾的是这不取决于我:(
标签: .net vb.net visual-studio-2010 datatable dataview