1. 程式人生 > >NPOI之Excel——合並單元格、設置樣式、輸入公式

NPOI之Excel——合並單元格、設置樣式、輸入公式

images post nbsp size 字體 進行 分享 blog code

NPOI之Excel——合並單元格、設置樣式、輸入公式

首先建立一個空白的工作簿用作測試,並在其中建立空白工作表,在表中建立空白行,在行中建立單元格,並填入內容:

 
//建立空白工作簿
IWorkbook workbook = new HSSFWorkbook();
//在工作簿中:建立空白工作表
ISheet sheet = workbook.CreateSheet();
//在工作表中:建立行,參數為行號,從0計
IRow row = sheet.CreateRow(0);
//在行中:建立單元格,參數為列號,從0計
ICell cell = row.CreateCell(0);
//設置單元格內容
cell.SetCellValue("實習鑒定表");



設置單元格樣式:
設置單元格樣式時需要註意,務必創建一個新的樣式對象進行設置,否則會將工作表所有單元格的樣式一同設置,它們應該共享的是一個樣式對象:


 
ICellStyle style = workbook.CreateCellStyle();
//設置單元格的樣式:水平對齊居中
style.Alignment = HorizontalAlignment.CENTER;
//新建一個字體樣式對象
IFont font = workbook.CreateFont();
//設置字體加粗樣式
font.Boldweight = short.MaxValue;
//使用SetFont方法將字體樣式添加到單元格樣式中 
style.SetFont(font);
//將新的樣式賦給單元格
cell.CellStyle = style;



設置單元格寬高:
  設置單元格的高度實際是設置其所在行高,所以要在單元格所在行上設置行高,行高設置數值好像是像素點的1/20,所以*20以便達到設置效果;
  設置單元格的寬度實際上是設置其所在列寬,所以要在單元格所在列上設置(列的設置在工作表上),寬度數值好像是字符的1/256,所以*256以便達到設置效果。
 
//設置單元格的高度
row.Height = 30 * 20;
//設置單元格的寬度
sheet.SetColumnWidth(0, 30 * 256);
 
合並單元格:合並單元格實際上是聲明一個區域,該區域中的單元格將進行合並,合並後的內容與樣式以該區域最左上角的單元格為準。

 
//設置一個合並單元格區域,使用上下左右定義CellRangeAddress區域
//CellRangeAddress四個參數為:起始行,結束行,起始列,結束列
sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 10));

添加公式:使用Cell的CellFormula來設置公式,是一個字符串,公式前不需要加=號。

 
//通過Cell的CellFormula向單元格中寫入公式
//註:直接寫公式內容即可,不需要在最前加‘=‘
ICell cell2 = sheet.CreateRow(1).CreateCell(0);
cell2.CellFormula = "HYPERLINK(\"測試圖片.jpg\",\"測試圖片.jpg\")";
將工作簿寫入文件查看效果:
//將工作簿寫入文件
using (FileStream fs = new FileStream("生成效果.xls", FileMode.Create, FileAccess.Write))
{
    workbook.Write(fs);
}
 

最終效果:
技術分享

NPOI之Excel——合並單元格、設置樣式、輸入公式