高手来,写EXCEL速度慢的问题
写一个EXCEL大表,用一个源表做模版,然后页面填充单元格
格子很多,365*75*7个
填了好几小时了,结果填到断线
请问高手有什么好的解决办法
问题点数:50、回复次数:10Top
1 楼wpfonline(无知)回复于 2006-06-04 14:28:55 得分 0
不是吧
还有这种事
是不是程序问题呀Top
2 楼yinweihong()回复于 2006-06-04 14:47:37 得分 0
格子很多,365*75*7个????????这是怎么算的? EXCEL成三维的了??
楼主可以试试,,在EXCEL中选定一范围的CELL,复制....然后再选中某个CELL,右键,粘贴,是不是比较快????Top
3 楼yinweihong()回复于 2006-06-04 14:48:30 得分 0
给你一句代码,琢磨一下
eWorksheet.Range("A1").Resize(rows, cols).Value = DataArrayTop
4 楼CADILLAC_AC(火神)回复于 2006-06-04 14:50:03 得分 0
365行,每行75列,一共7个sheet
比如说这样子的,也许会更多
右键粘贴?我不是手工调EXCEL而是后台代码自动填充,大哥
填充的数每格都事先不知道的
随算随填Top
5 楼CADILLAC_AC(火神)回复于 2006-06-04 14:52:59 得分 0
eWorksheet.Range("A1").Resize(rows, cols).Value = DataArray
可以理解
回头我试试,但是改动大了
呵呵
先记下,不知道有什么好方法
另外我做了优化,不是每个格子都填,而是填需要的格子,这样中间有空,
赋数组的话感觉.....不妥吧,呵呵Top
6 楼dqmayg(小马)回复于 2006-06-04 14:57:12 得分 0
什么意思??
eWorksheet.Range("A1").Resize(rows, cols).Value = DataArray
请高手解读一下, VBA 不是太熟Top
7 楼CADILLAC_AC(火神)回复于 2006-06-04 14:59:08 得分 0
相当于EXCEL的粘贴一列
不知道程序里面可不可以Top
8 楼yinweihong()回复于 2006-06-04 15:37:43 得分 0
相当于EXCEL的粘贴一列??? 程序里面当然可以
右键粘贴---那只是那句代码的原理......
DataArray是个二维数组,,,,从A1位置开始,选择ROWS-1行,COLS-1列,其中单元格的数据以DATAARRAY数组填充
改动大?-----每个SHEET里面要填充的数据直接赋到DATAARRAY数组中就可以了
以下不明白:
填充的数每格都事先不知道的
随算随填
Top
9 楼CADILLAC_AC(火神)回复于 2006-06-13 23:11:24 得分 0
相当于EXCEL的粘贴一列
是回答小马的提问,不是我的要求
随算随填就是,第一列填写1,4,8,18,...行数据,而且具体是哪行每列都不一样
也就是说,算到哪个格子需要填写就填写哪个格子,如果是数组直接赋值不能这么灵活吧
所以我还需要去将数组重新填值,所以这个方案改动很大。
Top
10 楼mail_ricklee(NickLee)回复于 2006-06-14 09:23:02 得分 0
可以用NickLee.Common.ExcelLite工具类
web的例子是写2*65535*9的,速度在3s以内
下载地址
http://mail-ricklee.cnblogs.com/archive/2006/05/29/411693.htmlTop




