就业数据资源平台
当前位置:首页 > MS Office应用
计算机一级辅导:Excel2010的工作表性能大提升

  Excel中工作表的行可以与数据库的记录相对应。因此,工作表中行数的多少与处理数据库记录的能力有关。

笔者使用Excel中带的VBA作为工具,编写如下程序:







Private Sub CommandButton1_Click()
Dim n As Long
Dim s1,s2,s3 as string
Dim MyTime
MyTime = Time
Randomize
For n = 1 To 1000000
s1 = "A" & Trim(Str$(n))
s2 = "B" & Trim(Str$(n))
s3 = "C" & Trim(Str$(n))
Worksheets("Sheet1").Range(s1).Value = n
Worksheets("Sheet1").Range(s2).Value = 10000 * Rnd(1)
Worksheets("Sheet1").Range(s3).Value = 10000 * Rnd(1)
Next
MyTime = Time
MsgBox Format$(MyTime)
End Sub

对于Excel 2003 和 Excel 2007,当n=65537时出错。因为这两个版本的Excel工作表的最大行数是65536,即216。

而对于Excel 2010 则可以顺利通过。即其Excel工作表的最大行数至少可以达到100万行。(其上限是多少本人没有测试)

因此,从工作表所能处理行数角度考虑,Excel 2010要比其以前版本强很多。

如果以上程序中的随机数不取整,而以浮点数形式操作,则速度要比整数操作慢很多。(使用MsgBox Format$(MyTime)可以计算操作时间。)

通过运行上述程序而生成的Excel文件的长度是46.4MB。

就业数据资源平台