首页 > 代码库 > NPOI之Excel——合并单元格、设置样式、输入公式

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的下载地址:http://npoi.codeplex.com/
NPOI的使用教程(中文):http://tonyqus.sinaapp.com/

 原文链接http://www.cnblogs.com/xwgli/archive/2013/05/03/3057824.html

NPOI之Excel——合并单元格、设置样式、输入公式