2.3.8 用NPOI操作EXCEL--隨機數函數

來源:互聯網
上載者:User
      我們知道,在大多數程式設計語言中都有隨機數函數。在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函數的幾個簡單應用,還有很多隨機數的例子都可以根據這些,再結合不同的其它函數引申出來。

 

返回目錄

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.