NPOI使用說明---批註、頁首、頁尾
阿新 • • 發佈:2019-01-03
示例二、批註的位置和大小
在Excel中是與單元格密切相關的,NPOI中通過HSSFClientAnchor的例項來表示,它的建構函式比較複雜,有8個引數,它們分別是
引數 |
說明 |
dx1 |
第1個單元格中x軸的偏移量 |
dy1 |
第1個單元格中y軸的偏移量 |
dx2 |
第2個單元格中x軸的偏移量 |
dy2 |
第2個單元格中y軸的偏移量 |
col1 |
第1個單元格的列號 |
row1 |
第1個單元格的行號 |
col2 |
第2個單元格的列號 |
row2 |
第2個單元格的行號 |
例如,如果我們打算讓註釋顯示在B3和E5之間,就應該這麼寫:
HSSFPatriarch patr = sheet.CreateDrawingPatriarch();
HSSFComment comment1 = patr.CreateComment(new HSSFClientAnchor(0, 0, 0, 0, 1, 2 , 4, 4));
下面我們設定這個批註的內容和作者,這個比較簡單:
comment1.String=new HSSFRichTextString("Hello World");
comment1.Author="NPOI Team";
最後一步就是把批註賦給某個單元格:
HSSFCell cell= sheet.CreateRow(1).CreateCell(1);
cell.CellComment= comment1;
對於批註,你有兩種選擇,一種是隱藏(預設),一種是顯示(即表單一開啟就顯示該批註),可以通過comment1.Visible屬性來控制。
示例三、設定頁首和頁尾
很多人並不知道Excel的頁首和頁尾功能,因為在介面上是顯示不了頁首和頁尾的,必須在列印頁面中才能看到,這也直接導致了其設定介面也顯得更隱祕,你必須進入頁面設定 –>頁首和頁尾才能設定。
以下是Office 2007中的設定介面。
當你按“自定義頁首”或“自定義頁尾”時,你會看到以下介面,Excel把頁首、頁尾分成了左中右三部分,這一點絕非單純體現在介面上,在底層的儲存中也是如此。
如果你設定的是“左”的內容,底層的儲存字串就會在開頭加上&L,如果是“右”的內容則會加上&R,所以HeaderRecord中的字串看上去是這樣的:"&C&LFooter A&R”,這個字串的意思是僅設定了“左”的內容,內容是Footer A。
看了這些我想你應該對頁首和頁尾有所瞭解了,回過頭來說NPOI,NPOI中主要是靠HSSFSheet.Header和HSSFSheet.Footer來設定的,這兩個屬性分別是HSSFHeader和HSSFFooter型別的。
參考程式碼如下:
HSSFSheet s1= hssfworkbook.CreateSheet("Sheet1");
s1.CreateRow(0).CreateCell(1).SetCellValue(123);
//set headertext
s1.Header.Center="This is a test sheet";
//set footertext
s1.Footer.Left="Copyright NPOI Team";
s1.Footer.Right="created by Tony Qu(瞿傑)";
以上程式碼中我添加了頁首的Center內容,Footer的Left和Right內容
至於一些Excel特殊字元,比如說頁碼可以用&P,當前日期可以用&D,其他的東西你就自己研究吧。