计算机一级辅导:Excel2010的工作表性能大提升

全国等级考试资料网 2024-01-08 18:55:02 190
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。

相关资料

相关阅读