有時,我們可能需要某些單元格唯讀,如在做模板時,模板中的資料是不能隨意讓別人改的。在excel中,可以通過「審閱->保護工作表」來完成,如下圖:
那麼,在npoi中有沒有辦法通過編碼的方式達到這一效果呢?答案是肯定的。
hssfsheet sheet1 = hssfworkbook.createsheet("sheet1");
hssfrow row1 = sheet1.createrow(0);
hssfcell cel1 = row1.createcell(0);
hssfcell cel2 = row1.createcell(1);
hssfcellstyle unlocked = hssfworkbook.createcellstyle();
unlocked.islocked = false;
hssfcellstyle locked = hssfworkbook.createcellstyle();
locked.islocked = true;
cel1.setcellvalue("沒被鎖定");
cel1.cellstyle = unlocked;
cel2.setcellvalue("被鎖定");
cel2.cellstyle = locked;
sheet1.protectsheet("password");
正如**中所看到的,我們通過設定cellstype的islocked為true,表示此單元格將被鎖定。相當於在excel中執行了如下操作:
然後通過protectsheet設定密碼。
執行結果如下:
沒被鎖定的列可以任意修改。
被鎖定的列不能修改。
輸入密碼可以解除鎖定。
目前先收藏,自己試驗沒好使,不知道是不是我寫的有問題
找到原因了,以為自己的不需要密碼,所以sheet.protectsheet未寫。只要需要進行唯讀操作,就必須寫這個。不需要密碼,那麼內容可以傳入空串。
NPOI操作Excel 一 NPOI基礎
用c 讀取excel的方法有很多中,由於近期工作需要,需要解析的excel含有合併單元格以及背景色等特殊要求,故在網上查了一些關於讀excel的方法的優缺點,覺得npoi能滿足我的需要,所以搜尋了一些資料做了一些測試,下面有些內容有些是 於別人的部落格,都備有出處,只是想把一些覺得對自己有用的記錄一...
利用NPOI操作excel匯出
npoi外掛程式要.netframe4.0 開啟excel按鈕事件 private void button1 click object sender,eventargs e private void button2 click object sender,eventargs e if datearr...
NPOI 初次操作(新建Excel)
1.由於在某些電腦上沒有安裝office,或者有許可權限制,使用com元件進行讀寫excel的話會出現問題,為此,npoi是乙個很好的選擇,npoi可以在上述環境中滿足office的操作需求,並且功能也很完善。2.初次接觸npoi,花了一些時間來學習一下,以下 功能是建立乙個工作簿,修改然後儲存。3...