easypoi合并单元格导入(EasyPoi导入导出最全案例)
程序员文章站
2023-11-14 00:01:40
下面例子为创建产生一个excel,合并单元格,然后为合并后的单元格添加边框package test;import java.io.fileoutputstream;import java.io.ioe...
下面例子为创建产生一个excel,合并单元格,然后为合并后的单元格添加边框
- package test;
- import java.io.fileoutputstream;
- import java.io.ioexception;
- import org.apache.poi.hssf.usermodel.hssfcell;
- import org.apache.poi.hssf.usermodel.hssfcellstyle;
- import org.apache.poi.hssf.usermodel.hssfrow;
- import org.apache.poi.hssf.usermodel.hssfsheet;
- import org.apache.poi.hssf.usermodel.hssfworkbook;
- import org.apache.poi.ss.usermodel.borderstyle;
- import org.apache.poi.ss.usermodel.font;
- import org.apache.poi.ss.usermodel.horizontalalignment;
- import org.apache.poi.ss.util.cellrangeaddress;
- import org.apache.poi.ss.util.regionutil;
- public class excelpoitest {
- public static void main(string[] args) {
- hssfworkbook workbook = new hssfworkbook(); // 创建一个excel
- // excel生成过程: excel–>sheet–>row–>cell
- hssfsheet sheet = workbook.createsheet(“test”); // 为excel创建一个名为test的sheet页
- hssfrow row = sheet.createrow(1); // 创建一行,参数2表示第一行
- hssfcell cellb2 = row.createcell(1); // 在b2位置创建一个单元格
- hssfcell cellb3 = row.createcell(2); // 在b3位置创建一个单元格
- cellb2.setcellvalue(“单元格b2”); // b2单元格填充内容
- cellb3.setcellvalue(“单元格b3”); // b3单元格填充内容
- hssfcellstyle cellstyle = workbook.createcellstyle(); // 单元格样式
- font fontstyle = workbook.createfont(); // 字体样式
- fontstyle.setbold(true); // 加粗
- fontstyle.setfontname(“黑体”); // 字体
- fontstyle.setfontheightinpoints((short) 11); // 大小
- // 将字体样式添加到单元格样式中
- cellstyle.setfont(fontstyle);
- // 边框,居中
- cellstyle.setalignment(horizontalalignment.center);
- cellstyle.setborderbottom(borderstyle.thin);
- cellstyle.setborderleft(borderstyle.thin);
- cellstyle.setborderright(borderstyle.thin);
- cellstyle.setbordertop(borderstyle.thin);
- cellb2.setcellstyle(cellstyle); // 为b2单元格添加样式
- // 合并单元格
- cellrangeaddress cra =new cellrangeaddress(1, 3, 1, 3); // 起始行, 终止行, 起始列, 终止列
- sheet.addmergedregion(cra);
- // 使用regionutil类为合并后的单元格添加边框
- regionutil.setborderbottom(1, cra, sheet); // 下边框
- regionutil.setborderleft(1, cra, sheet); // 左边框
- regionutil.setborderright(1, cra, sheet); // 有边框
- regionutil.setbordertop(1, cra, sheet); // 上边框
- // 输出到本地
- string excelname = “/myexcel.xls”;
- fileoutputstream out = null;
- try {
- out = new fileoutputstream(excelname);
- workbook.write(out);
- out.flush();
- out.close();
- } catch (exception e) {
- e.printstacktrace();
- } finally {
- if (out != null)
- try {
- out.close();
- } catch (ioexception e) {
- e.printstacktrace();
- }
- out = null;
- }
- }
- }
生成的excel样式为
简单说明:
1.excel生成过程: excel–>sheet–>row–>cell 2.索引从0开始
3.合并单元格后保留最左上角的单元格(b3单元格被b2单元格覆盖)
4.合并后单元格边框通过regionutil设置,如果删除以下代码
- // 使用regionutil类为合并后的单元格添加边框
- regionutil.setborderbottom(1, cra, sheet); // 下边框
- regionutil.setborderleft(1, cra, sheet); // 左边框
- regionutil.setborderright(1, cra, sheet); // 有边框
- regionutil.setbordertop(1, cra, sheet); // 上边框
效果为:
可以看到只有b2单元格有边框。
推荐阅读
-
easypoi合并单元格导入(EasyPoi导入导出最全案例)
-
easypoi合并单元格导入(EasyPoi导入导出最全案例)
-
【springboot+easypoi】一行代码搞定excel导入导出
-
excel导入基于Easypoi一对多导入(实现合并单元格)
-
php导出excel图片格式,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...
-
荐 EasyPoi导入导出Excel最全案例
-
Easypoi实现excel多sheet表导入导出功能
-
使用easypoi 将数据库数据导出 以及将Excel表格数据导入数据库 第五版
-
easypoi实现表格导出(实现一对多,合并单元格)
-
Springboot2整合easypoi实现导入导出、OSS图片导出到Excel