MSFlexGrid与Excel
来源:百度文库 编辑:神马文学网 时间:2024/04/25 16:24:28
(2009-05-22 10:38:53)
标签:vb msflexgrid 导入 excel 快速 it
目前正在进行的项目中,碰到一个难题:
那就是msflexgrid与Excel数据的相互导入过程中,速度慢的问题。
如果数据量不是很大的话,采用网上常举例的的方式还可以,但是一旦数据量很大,打到几万甚至几十万的时候,那个速度简直是慢得离谱,你简直不敢相信这是电脑在做事情。
首先讲讲传统方案:
1、 按照Excel逐格填充的方法:
For i = 1 To TotalCount
MSFlexGrid1.Row = i
For j = 0 To 14
MSFlexGrid1.Col = j
‘下面或者MSFlexGrid1.TextMatrix(i, j)
xlsheet.Range(Chr(65 + j) + CStr(i + 2)).Value = MSFlexGrid1.Text
Next j
Next I
这个就是我讲的最慢的方法。
处理超过100K的数据用了十几秒钟,慢!太慢!实在是太慢了!
昨天项目经理找我聊了一下清况,我将我碰到的问题告诉她,她很奇怪(她不懂VB),这里已经完全是电脑在处理数据的啊,怎么会那么慢呢?
她还尝试用我已经导出的数据经过在Excel和Textbook之间相互复制粘贴来证明The speed of computer.
那确实相当的快,这个马上给了我一个启发:剪贴板。
对,我所说的快的处理方法就是采用剪贴板。
2、 利用剪贴板复制粘贴。
Clipboard.Clear 'Clear the Clipboard
With MSFlexGrid1 'Select Full Contents (You could also select partial content)
.Col = 0 'From first column
.Row = 0 'From first Row (header)
.ColSel = .Cols - 1 'Select all columns
.RowSel = .Rows - 1 'Select all rows
Clipboard.SetText .Clip 'Send to Clipboard
End With
With xlapp.ActiveWorkbook.ActiveSheet
.Range("A1").Select 'Select Cell("A1) (will paste from here, to different cells)
.Paste 'Paste clipboard contents
End With
这下子速度快多了:Ctrl+A, Ctrl+C, Ctrl+V, OK!搞定了!快吧?!
标签:vb msflexgrid 导入 excel 快速 it
目前正在进行的项目中,碰到一个难题:
那就是msflexgrid与Excel数据的相互导入过程中,速度慢的问题。
如果数据量不是很大的话,采用网上常举例的的方式还可以,但是一旦数据量很大,打到几万甚至几十万的时候,那个速度简直是慢得离谱,你简直不敢相信这是电脑在做事情。
首先讲讲传统方案:
1、 按照Excel逐格填充的方法:
For i = 1 To TotalCount
MSFlexGrid1.Row = i
For j = 0 To 14
MSFlexGrid1.Col = j
‘下面或者MSFlexGrid1.TextMatrix(i, j)
xlsheet.Range(Chr(65 + j) + CStr(i + 2)).Value = MSFlexGrid1.Text
Next j
Next I
这个就是我讲的最慢的方法。
处理超过100K的数据用了十几秒钟,慢!太慢!实在是太慢了!
昨天项目经理找我聊了一下清况,我将我碰到的问题告诉她,她很奇怪(她不懂VB),这里已经完全是电脑在处理数据的啊,怎么会那么慢呢?
她还尝试用我已经导出的数据经过在Excel和Textbook之间相互复制粘贴来证明The speed of computer.
那确实相当的快,这个马上给了我一个启发:剪贴板。
对,我所说的快的处理方法就是采用剪贴板。
2、 利用剪贴板复制粘贴。
Clipboard.Clear 'Clear the Clipboard
With MSFlexGrid1 'Select Full Contents (You could also select partial content)
.Col = 0 'From first column
.Row = 0 'From first Row (header)
.ColSel = .Cols - 1 'Select all columns
.RowSel = .Rows - 1 'Select all rows
Clipboard.SetText .Clip 'Send to Clipboard
End With
With xlapp.ActiveWorkbook.ActiveSheet
.Range("A1").Select 'Select Cell("A1) (will paste from here, to different cells)
.Paste 'Paste clipboard contents
End With
这下子速度快多了:Ctrl+A, Ctrl+C, Ctrl+V, OK!搞定了!快吧?!
MSFlexGrid与Excel
MSFlexGrid
在VB中把EXCEL文件导入MSFLEXGRID 之二
EXCEL 公式与函数
Excel函数与公式
Excel Excel表格的35招必学秘技 - Excel函数与公式
Excel Excel表格的35招必学秘技 - Excel函数与公式
VB与EXCEL的连接
EXCEL查找与引用函数
VB与EXCEL的连接
Excel 【原创】Excel 中 Text 函数应用技巧集锦 - Excel 函数与公式 - Excel Home论坛
Excel Excel表格的35招必学秘技 - Excel函数与公式 - Excel Ho...
MSFlexGrid使用技巧一例
vb中msflexgrid使用举例
EXCEL必备工具箱--与EXCEL紧密结合的计算器
Excel函数入门与提高-软件频道-Excel函数-天极网
Excel表格的35招必学秘技 - Excel函数与公式
Excel 表格的35招必学秘技 - Excel函数与公式
Excel 关于数字变汉字的问题 - Excel函数与公式 - Excel Home论坛
Excel OFFSET函数的理解 - Excel函数与公式 - Excel Home论坛
Excel与Access数据交流技巧
卖不掉的豆子与excel难题?
卖不掉的豆子与excel难题?
Word插入页码与Excel页码设置