您的位置:首页 > Web前端 > CSS

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

2013-07-02 12:27 344 查看
首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容:


 

//建立空白工作簿
IWorkbookworkbook=newHSSFWorkbook();
//在工作簿中:建立空白工作表
ISheetsheet=workbook.CreateSheet();
//在工作表中:建立行,参数为行号,从0计
IRowrow=sheet.CreateRow(0);

//在行中:建立单元格,参数为列号,从0计
ICellcell=row.CreateCell(0);
//设置单元格内容
cell.SetCellValue("实习鉴定表");




设置单元格样式:设置单元格样式时需要注意,务必创建一个新的样式对象进行设置,否则会将工作表所有单元格的样式一同设置,它们应该共享的是一个样式对象:



 

ICellStylestyle=workbook.CreateCellStyle();
//设置单元格的样式:水平对齐居中
style.Alignment=HorizontalAlignment.CENTER;
//新建一个字体样式对象

IFontfont=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(newCellRangeAddress(0,0,0,10));

添加公式:使用Cell的CellFormula来设置公式,是一个字符串,公式前不需要加=号。



//通过Cell的CellFormula向单元格中写入公式
//注:直接写公式内容即可,不需要在最前加'='
ICellcell2=sheet.CreateRow(1).CreateCell(0);
cell2.CellFormula="HYPERLINK(\"测试图片.jpg\",\"测试图片.jpg\")";

将工作簿写入文件查看效果:


//将工作簿写入文件
using(FileStreamfs=newFileStream("生成效果.xls",FileMode.Create,FileAccess.Write))
{
workbook.Write(fs);
}



最终效果:


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐