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/
NPOI之Excel——合并单元格、设置样式、输入公式相关推荐
- jxl操作excel(合并单元格,设置背景色,字体颜色)
现在正在做的项目中涉及大量的Excel文件导出导入操作,都是使用Java Excel来操作. Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Exce ...
- springboot项目导出excel 合并单元格表格
springboot项目导出excel 合并单元格表格 导出效果 业务controller 业务数据 业务实体类 注解MyExcel.java 注解 MyExcels 导出工具类MyExcelUtil ...
- apache poi斜边框线_apache poi合并单元格设置边框
HSSFWorkbook wb = newHSSFWorkbook(); HSSFSheet sheet=wb.createSheet();//创建一个样式 HSSFCellStyle styleBo ...
- python合并word单元格_python之DataFrame实现excel合并单元格_python
这篇文章主要为大家详细介绍了python之DataFrame实现excel合并单元格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元 ...
- html表格里面怎么合并单元格的快捷键,excel合并单元格快捷键是什么
excel合并单元格快捷键是什么 快捷键的熟练使用可以帮助我们在工作中提高效率,那么excel合并单元格快捷键是什么呢?接下来为大家讲解excel合并单元格快捷键设置方法的图文演示. 合并单元格在ex ...
- asp.net mvc excel合并单元格_excel统计求和:如何在合并后的单元格中复制求和公式...
编按:哈喽,大家好!又到了一年一度的双十一购物狂欢节,小伙伴们有没有蠢蠢欲动呢?钱包都准备好了吗!这个双十一,大家都盯上了哪些好物呢?哪类产品的开销又会成为你贡献双十一销售额的主力军呢?赶紧在exce ...
- C# 使用 NPOI 处理Excel导入单元格内容是公式问题
C# 使用 NPOI 处理Excel导入单元格内容是公式问题 引言:今天在处理业务的时候,碰到导入Excel数据不成功的问题,那么就在这里做下笔记吧. 首先,我们有以下的数据.整块业务逻辑的代码在最后 ...
- Java POI 对Excel合并单元格的数据处理
Java POI 对Excel合并单元格的数据处理 最近在项目开发过程中,有个一个导入Excel文件处理合并单元格数据的需求,就自己在网上找了一个模板,自己进行二次开发来开发需求. Excel工具类 ...
- 在合并单元格设置编号—“count-a函数”的使用
一.给合并单元格设置编号(有标题的情况下) 先选中需要填充序号的单元格,然后在公式栏里面输入:counta($A$1:A1),从A1单元格开始往下面计算非空单元格的值,结果如下图所示: 原理是:例如拿 ...
最新文章
- 用Eclipse的snippets功能实现代码重用
- 每日一皮:这就是成都马拉松???...
- psm倾向得分匹配法举例_互助问答第110期:分组回归样本及倾向得分匹配相关问题...
- MFC EDIT控件 接收“回车”与“ESC”键 退出问题!
- 经典论文复现 | ICML 2017大热论文:Wasserstein GAN
- exit(0) exit(1) return() 3个的区别
- 2:word定制工作界面
- 【Android Developers Training】 58. 缓存位图
- Linux(debian7)操作基础(三)之PCI/PCI-E设备配置空间
- C语言实现可变参数列表的system接口:宏__VA_ARGS__
- Mybatis_day3_Mybatis的多表查询
- (转)Fabric 1.0 读写集
- 动手实现MVC: 4. AOP的设计与实现
- MATLAB安装教程
- pip快速下载python包
- 华为交换机端口限速配置说明
- Ubuntu18.04 自带桌面共享配置
- 财务自由之路 读书笔记 第六章 债务
- 智能穿戴:致我们触手可及的未来?
- 快速学习计算机系统编程
热门文章
- 【基本办公软件】万彩办公大师教程丨高级计算器的应用
- (转载)香椿熟了————————食得春之鲜:香椿拌香干
- 人不是因为有面子才牛逼,而是因为变牛逼才有面子
- 解决 NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
- 照片生成3D虚拟数字人,虚拟形象主播搭建(软件+教程)
- 服务器esxi虚拟机黑苹果性能,EXSi安装Mac打造Mac Pro
- python参考书目_Python 阅读书目推荐
- 美大联盟中国小将3年年薪翻60倍 从第7前锋到赢新合同
- 移动应用崩溃日志收集工具对比
- stm32 串口2空闲中断死机_STM32串口空闲中断问题