NPOI建立批註

2021-09-05 11:42:04 字數 1786 閱讀 2941

很多人不怎麼用excel中的批註,所以我特地截了張圖,我們先看一下批註的效果圖

批註主要有三個屬性需要設定,乙個是批註的位置和大小、乙個是批註的文字、還有乙個是批註的作者,

批註的位置和大小,在excel中是與單元格密切相關的,npoi中通過hssfclientanchor或者xssfclientanchor的例項來表示,它的建構函式比較複雜,有8個引數,它們分別是

引數說明

dx1第1個單元格中x軸的偏移量

dy1第1個單元格中y軸的偏移量

dx2第2個單元格中x軸的偏移量

dy2第2個單元格中y軸的偏移量

col1

第1個單元格的列號

row1

第1個單元格的行號

col2

第2個單元格的列號

row2

第2個單元格的行號

例如,如果我們打算讓注釋顯示在b3和e5之間,就應該這麼寫:

hssfpatriarchpatr = sheet.createdrawingpatriarch();

hssfcommentcomment1 = patr.createcomment(new hssfclientanchor(0, 0, 0, 0, 1, 2 , 4, 4));

下面我們設定這個批註的內容和作者,這個比較簡單:

comment1.string=newhssfrichtextstring(「hello world」);

comment1.author=「pushsoft」;

對於批註,你有兩種選擇,一種是隱藏(預設),一種是顯示(即表單一開啟就顯示該批註),可以通過comment1.visible屬性來控制。

下面是建立了乙個批註,在指定單元格的右側的位置顯示,為了避免在建立excel檔案時建立過多的字型物件,所以對於字型樣式相同的單元格盡量使用乙個物件來設定字型樣式

private icomment getcomment

(isheet sheet, icomment comment,

int cellnum,object text)

else

comment = draw.

createcellcomment

(clientanchor);}

irichtextstring richtext = null;

if(exportxlsx)

", text));

}else

", text));

} richtext.

(getdefaultfont

(workbook,

true))

;// 設定批註中文字的字型

comment.string = richtext;

comment.visible =

false

; comment.author =

"pushsoft"

;return comment;

}

private ifont _defaultfont;

private ifont _defaultblodfont ;

private ifont getdefaultfont

(iworkbook workbook, bool blod =

false

)else

}return font;

}

NPOI 匯出新增批註功能

這個問題在網上搜,都是說如下即可 新增批註 hssfpatriarch patr hssfpatriarch sheet.createdrawingpatriarch hssfcomment comment12 patr.createcomment new hssfclientanchor 0,0,...

建立excel 批註

hssfsheet sheet workbook.createsheet template page 建立繪圖物件 hssfpatriarch p sheet.createdrawingpatriarch hssfcellstyle cellstyle workbook.createcellstyl...

VBA 插入批註

sub pictopz dim cell as range,fd,t,w as byte,h as byte selection.clearcomments if selection 1 then msgbox 不能選擇空白區。64,提示 exit sub on error resume next ...