
在這裡記錄一些自己使用NPOI的時候常用到的程式碼。
備註:以下範例是用在 .xlsx 。
程式所引用的 NPOI 命名空間 要用 NPOI.XSSF 開頭。
如果要用在 .xls ,
程式所引用的 NPOI 命名空間 改用 NPOI.HSSF 開頭。
程式碼也會不一樣(例如:XSSFSheet -> HSSFSheet)。
取得第一個Sheet
1
|
XSSFSheet sheet = (XSSFSheet)workbook.GetSheetAt(0);
|
合併儲存格
1 2
|
sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 3, 0, 5));
|
建立第一行
1
|
IRow row = sheet.CreateRow(0);
|
建立第一個儲存格
1
|
ICell cell = row.CreateCell(0);
|
設定儲存格公式
1 2
|
cell.CellFormula = "IF($H${1},SUM($H${0}:H{0})/$H${1},0)";
|
樣式相關
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
XSSFCellStyle style = (XSSFCellStyle)workbook.CreateCellStyle(); XSSFDataFormat dataFormat = (XSSFDataFormat )workbook.CreateDataFormat();
style.WrapText = true;
style.VerticalAlignment = VerticalAlignment.Center;
style.Alignment = HorizontalAlignment.Left;
style.FillForegroundXSSFColor = new XSSFColor(Color.FromArgb(217, 217, 217)); style.FillPattern = FillPattern.SolidForeground;
style.BorderLeft = BorderStyle.Thin; style.BorderRight = BorderStyle.Thin; style.BorderBottom = BorderStyle.Thin;
style.BorderDiagonal = BorderDiagonal.Backward; style.BorderDiagonalLineStyle = BorderStyle.Thin;
style.DataFormat = dataFormat.GetFormat("0.00");
style.DataFormat = dataFormat.GetFormat("#,##");
|
字型相關
1 2 3 4 5 6 7 8 9 10
|
IFont font = workbook.CreateFont();
font.FontName = "標楷體";
font.FontHeightInPoints = 14;
font.Boldweight = (short)FontBoldWeight.Bold;
style.SetFont(font);
|
近期评论