现在需要实现以下功能
一个MSHFlexGrid 10000行 5 列
需要将其输出到Excel有两步要处理
1 将 Grid的数据通过行列循环放入一个数组,在将数组写入Excel
2 将Grid按行循环 ,根据Grid的每行行高调整 Excel对应的行高现在的问题是
只执行步骤1 需要 2秒
只执行步骤2 需要 20秒 但是连起来执行确耗时53秒不知是什么原因,请帮忙分析下已经在步骤1中 对二维数组进行了释放
For Each Item In MSCellDataArr()
Set Item = Nothing
Next
Erase MSCellDataArr
ReDim MSCellDataArr(1, 1)没效果 还是慢 51秒
一个MSHFlexGrid 10000行 5 列
需要将其输出到Excel有两步要处理
1 将 Grid的数据通过行列循环放入一个数组,在将数组写入Excel
2 将Grid按行循环 ,根据Grid的每行行高调整 Excel对应的行高现在的问题是
只执行步骤1 需要 2秒
只执行步骤2 需要 20秒 但是连起来执行确耗时53秒不知是什么原因,请帮忙分析下已经在步骤1中 对二维数组进行了释放
For Each Item In MSCellDataArr()
Set Item = Nothing
Next
Erase MSCellDataArr
ReDim MSCellDataArr(1, 1)没效果 还是慢 51秒
这个毫时间了
可以用EXCEL自动调整,比如
XLWorkSheet.Columns("A:A").EntireColumn.AutoFit
XLWorkSheet.Range(XLWorkSheet.Cells(2, 3), XLWorkSheet.Cells(6, 8)).EntireRow.AutoFit
所耗时间就是这样得出的
联合运行多了30秒,不知何故
不知是不是 二维数组对内存的占用造成的
'一个MSHFlexGrid 10000行 5 列
'需要将其输出到Excel
是否可以更换控件?用VsFlexGrid控件的话,你的要求都可以自动实现。重画界面是你程序耗时长的原因,比如说赋值到界面上这种操作,当然了,首当其冲的是调整控件宽度这样的动作。