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函数的几个简单应用,还有很多随机数的例子都可以根据这些,再结合不同的其它函数引申出来。

 

返回目录

 

你可能感兴趣的:(Excel)