vb.net大量数据如何快速写入excel

bigheadsheep 2011-06-14 05:14:22
各位

我用vb.net+ibatis.net从数据库中取得的数据Bean,保存在ArrayList中(使用ibatis.net的QueryForList()返回数值)
如果利用for循环,设定每一个单元格内容的话,运行时间超级长:
' (Nation)
objXls.SetCellValue(index, row + i, 3, data.nation)
' (Region)
objXls.SetCellValue(index, row + i, 4, data.region)
' (District)
objXls.SetCellValue(index, row + i, 5, data.district)
' (Province)
objXls.SetCellValue(index, row + i, 6, data.province)
' (Product)
objXls.SetCellValue(index, row + i, 7, data.product)

注:SetCellValue(ByVal intShtIdx As Integer, ByVal intRow As Integer, ByVal intCol As Integer, ByVal value As String) As Boolean

不知道各位大侠有没有更加简便易行,我修改起来也不太麻烦的方法,能够大幅度提高导入数据的效率??

多谢各位了.如能详细说明,更是不胜感激~~~
...全文
709 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigheadsheep 2011-06-17
  • 打赏
  • 举报
回复
跟大家汇报下试用NPOI的结果
导出Excel的效率非常高,但是不支持2007版,而且单元格公式中有VLOOKUP的,即使调用其设定方法,也无法正常计算.
lliai 2011-06-16
  • 打赏
  • 举报
回复
先到内存,再Copy到EXCEL
bigheadsheep 2011-06-16
  • 打赏
  • 举报
回复
以前用java使用POI操作Excel,昨天上网搜索,针对.net有一个第三方插件NPOI,是基于POI做成的
现在在尝试中.只可惜现有版本NPOI不支持Excel 2007版...
阿泰 2011-06-15
  • 打赏
  • 举报
回复
用数组填充。。

参考
http://topic.csdn.net/u/20100925/10/68B6333F-43EE-4312-99EB-E4A728E2ABB2.html

10楼、19楼、20楼
bigheadsheep 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tosp2012 的回复:]
第三方控件FlexGrid, FlexGrid.SaveToExcel
一句話搞定。
[/Quote]

从数据库中检索出来的数据,我并不需要显示在画面上,只是为了输出报表所用.所以您说的FlexGrid似乎对我意义不大
bigheadsheep 2011-06-15
  • 打赏
  • 举报
回复
补充一下:
1.在填充单元格内容之前,我用File.Copy()函数,将模板excel复制,然后把新excel打开再逐个单元格设定.

2.设定单元格不仅仅是value,还有公式(Range(rangStart, rangEnd).Formula )

3.该excel中不光有数据,还有根据数据计算出来的折线图等

恳请各位帮忙指点一二.多谢~~~
Tosp2012 2011-06-15
  • 打赏
  • 举报
回复
第三方控件FlexGrid, FlexGrid.SaveToExcel
一句話搞定。
mania001 2011-06-15
  • 打赏
  • 举报
回复
学习一下,看各位高手的解疑
music_0000 2011-06-15
  • 打赏
  • 举报
回复
先写到内存,再Copy到EXCEL
cosmo_sei 2011-06-14
  • 打赏
  • 举报
回复
如果只要求速度,你可以改变excel的存储格式,用xml/html来写。

你将excel另存为xml/html,看看里面的内容,只比常见的xml/html多点东西,你写文本的时候把这些东西也写进去,excel就能正常打开了。


写文本的速度是最快的。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧