2.3.8 用NPOI操作EXCEL--随机数函数

      我们知道,在大多数编程语言中都有随机数函数。在Excel中,同样存在着这样一个函数—RAND()函数,用于生成随机数。先来看一个最简单的例子:
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
sheet1.CreateRow(
0).CreateCell(0).SetCellFormula("RAND()");
RAND()函数将返回一个0-1之间的随机数,执行后生成的Excel文件如下:

这只是最简单直接的RAND()函数的应用,只要我们稍加修改,就可以作出很多种变换。如
取0-100之前的随机整数,可设置公式为:
sheet1.CreateRow(0).CreateCell(0).SetCellFormula("int(RAND()*100)");
取10-20之间的随机实数,可设置公式为:
sheet1.CreateRow(0).CreateCell(0).SetCellFormula("rand()*(20-10)+10");
随机小写字母:
sheet1.CreateRow(0).CreateCell(0).SetCellFormula("CHAR(INT(RAND()*26)+97)");
随机大写字母:
sheet1.CreateRow(0).CreateCell(0).SetCellFormula("CHAR(INT(RAND()*26)+65)")
随机大小写字母:
sheet1.CreateRow(0).CreateCell(0).SetCellFormula("CHAR(INT(RAND()*26)+if(INT(RAND()*2)=0,65,97))");

      上面几例中除了用到RAND函数以外,还用到了CHAR函数用来将ASCII码换为字母,INT函数用来取整。值得注意的是INT函数不会四舍五入,无论小数点后是多少都会被舍去。
      这里只是RAND函数的几个简单应用,还有很多随机数的例子都可以根据这些,再结合不同的其它函数引申出来。

 

返回目录

 

posted @ 2009-09-27 23:03 atao.xiang 阅读(...) 评论(...) 编辑 收藏

公告