NPOI教程:http://www.cnblogs.com/atao/archive/2009/11/15/1603528.html
之所有說NPOI強大,是因為常用的Excel操作她都可以通過程式設計的方式完成。這節開始,我們開始學習NPOI的畫圖功能。先從最簡單的開始,畫一條直線:
對應的代碼為:
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
HSSFPatriarch patriarch = sheet1.CreateDrawingPatriarch();
HSSFClientAnchor a1 = new HSSFClientAnchor(255, 125, 1023, 150, 0, 0,2, 2);
HSSFSimpleShape line1 = patriarch.CreateSimpleShape(a1);
line1.ShapeType = HSSFSimpleShape.OBJECT_TYPE_LINE;
line1.LineStyle = HSSFShape.LINESTYLE_SOLID;
//在NPOI中線的寬度12700表示1pt,是以這裡是0.5pt粗的線條。
line1.LineWidth = 6350;
通常,利用NPOI畫圖主要有以下幾個步驟:
1. 建立一個Patriarch;
2. 建立一個Anchor,以确定圖形的位置;
3. 調用Patriarch建立圖形;
4. 設定圖形類型(直線,矩形,圓形等)及樣式(顔色,粗細等)。
關于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的參數,有必要在這裡說明一下:
dx1:起始單元格的x偏移量,如例子中的255表示直線起始位置距A1單元格左側的距離;
dy1:起始單元格的y偏移量,如例子中的125表示直線起始位置距A1單元格上側的距離;
dx2:終止單元格的x偏移量,如例子中的1023表示直線起始位置距C3單元格左側的距離;
dy2:終止單元格的y偏移量,如例子中的150表示直線起始位置距C3單元格上側的距離;
col1:起始單元格列序号,從0開始計算;
row1:起始單元格行序号,從0開始計算,如例子中col1=0,row1=0就表示起始單元格為A1;
col2:終止單元格列序号,從0開始計算;
row2:終止單元格行序号,從0開始計算,如例子中col2=2,row2=2就表示起始單元格為C3;
最後,關于LineStyle屬性,有如下一些可選值,對應的效果分别如圖所示:
學習交流群:364976091