首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容:

//建立空白工作簿
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));

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

//通过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/

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

  1. jxl操作excel(合并单元格,设置背景色,字体颜色)

    现在正在做的项目中涉及大量的Excel文件导出导入操作,都是使用Java Excel来操作. Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Exce ...

  2. springboot项目导出excel 合并单元格表格

    springboot项目导出excel 合并单元格表格 导出效果 业务controller 业务数据 业务实体类 注解MyExcel.java 注解 MyExcels 导出工具类MyExcelUtil ...

  3. apache poi斜边框线_apache poi合并单元格设置边框

    HSSFWorkbook wb = newHSSFWorkbook(); HSSFSheet sheet=wb.createSheet();//创建一个样式 HSSFCellStyle styleBo ...

  4. python合并word单元格_python之DataFrame实现excel合并单元格_python

    这篇文章主要为大家详细介绍了python之DataFrame实现excel合并单元格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元 ...

  5. html表格里面怎么合并单元格的快捷键,excel合并单元格快捷键是什么

    excel合并单元格快捷键是什么 快捷键的熟练使用可以帮助我们在工作中提高效率,那么excel合并单元格快捷键是什么呢?接下来为大家讲解excel合并单元格快捷键设置方法的图文演示. 合并单元格在ex ...

  6. asp.net mvc excel合并单元格_excel统计求和:如何在合并后的单元格中复制求和公式...

    编按:哈喽,大家好!又到了一年一度的双十一购物狂欢节,小伙伴们有没有蠢蠢欲动呢?钱包都准备好了吗!这个双十一,大家都盯上了哪些好物呢?哪类产品的开销又会成为你贡献双十一销售额的主力军呢?赶紧在exce ...

  7. C# 使用 NPOI 处理Excel导入单元格内容是公式问题

    C# 使用 NPOI 处理Excel导入单元格内容是公式问题 引言:今天在处理业务的时候,碰到导入Excel数据不成功的问题,那么就在这里做下笔记吧. 首先,我们有以下的数据.整块业务逻辑的代码在最后 ...

  8. Java POI 对Excel合并单元格的数据处理

    Java POI 对Excel合并单元格的数据处理 最近在项目开发过程中,有个一个导入Excel文件处理合并单元格数据的需求,就自己在网上找了一个模板,自己进行二次开发来开发需求. Excel工具类 ...

  9. 在合并单元格设置编号—“count-a函数”的使用

    一.给合并单元格设置编号(有标题的情况下) 先选中需要填充序号的单元格,然后在公式栏里面输入:counta($A$1:A1),从A1单元格开始往下面计算非空单元格的值,结果如下图所示: 原理是:例如拿 ...

最新文章

  1. 用Eclipse的snippets功能实现代码重用
  2. 每日一皮:这就是成都马拉松???...
  3. psm倾向得分匹配法举例_互助问答第110期:分组回归样本及倾向得分匹配相关问题...
  4. MFC EDIT控件 接收“回车”与“ESC”键 退出问题!
  5. 经典论文复现 | ICML 2017大热论文:Wasserstein GAN
  6. exit(0) exit(1) return() 3个的区别
  7. 2:word定制工作界面
  8. 【Android Developers Training】 58. 缓存位图
  9. Linux(debian7)操作基础(三)之PCI/PCI-E设备配置空间
  10. C语言实现可变参数列表的system接口:宏__VA_ARGS__
  11. Mybatis_day3_Mybatis的多表查询
  12. (转)Fabric 1.0 读写集
  13. 动手实现MVC: 4. AOP的设计与实现
  14. MATLAB安装教程
  15. pip快速下载python包
  16. 华为交换机端口限速配置说明
  17. Ubuntu18.04 自带桌面共享配置
  18. 财务自由之路 读书笔记 第六章 债务
  19. 智能穿戴:致我们触手可及的未来?
  20. 快速学习计算机系统编程

热门文章

  1. 【基本办公软件】万彩办公大师教程丨高级计算器的应用
  2. (转载)香椿熟了————————食得春之鲜:香椿拌香干
  3. 人不是因为有面子才牛逼,而是因为变牛逼才有面子
  4. 解决 NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
  5. 照片生成3D虚拟数字人,虚拟形象主播搭建(软件+教程)
  6. 服务器esxi虚拟机黑苹果性能,EXSi安装Mac打造Mac Pro
  7. python参考书目_Python 阅读书目推荐
  8. 美大联盟中国小将3年年薪翻60倍 从第7前锋到赢新合同
  9. 移动应用崩溃日志收集工具对比
  10. stm32 串口2空闲中断死机_STM32串口空闲中断问题