POI中合并单元格和样式的处理

合并单元格:

在POI中,合并单元格只需用到一个方法即可,即addMergedRegion(CellRangeAddress region),

此方法HSSFSheet的一个方法,即在工作薄对象下调用此方法

CellRangeAddress的构造方法如下:

CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)

    如:sheet.addMergedRegion(new CellRangeAddress(2, 3, 0, 0));

4个参数依次为:开始行,结束行,开始列,结束列

样式的处理:

POI中使用样式的方式有几种为:

1.创建样式对象 --> 在样式对象中设置各种样式 --> 把样式对象赋予sheet对象或row对象或cell对象。

2.直接在sheet对象或row对象或cell对象中调用各种样式方法。

如:

HSSFCellStyle style = wb.createCellStyle(); // 样式对象

style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直   
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平

Font font = wb.createFont();
    font.setFontName("宋体");//字体类型
    font.setFontHeightInPoints((short) 10);字体大小
    style.setFont(font);
    style.setBorderBottom(HSSFCellStyle.BORDER_THIN);//下边框类型
    style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框类型
    style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框类型
    style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框类型

sheet.addMergedRegion(new CellRangeAddress(2, 3, 0, 0));
    HSSFCell cellA3 = row3.createCell(0, Cell.CELL_TYPE_STRING);   
    cellA3.setCellValue("序号");
    cellA3.setCellStyle(style);

sheet.setColumnWidth(0, 4*256); //设置列宽(第一列,4个字符长度)

HSSFRow row1 = sheet.createRow(0);

row1.setHeight((short) 400); //设置行高(第一行,高度为400)

ps:更详细的操作请查找相关API

时间: 2024-10-13 00:51:52

POI中合并单元格和样式的处理的相关文章

poi获取合并单元格内的第一行第一列的值

当读取如图所示的excel时,显示为第1行 第1列 的内容是:合并单元格 其它在合并单元格区域内的单元格不显示 示例代码如下: 1 import java.io.FileInputStream; 2 import java.io.FileNotFoundException; 3 import java.io.IOException; 4 5 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 6 import org.apache.poi.ss.

POI 简单合并单元格

public class MergedCells { /** 测试使用的POI版本是3.1 * @param args */ public static void main(String[] args) throws IOException { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); HSSFRow row = sheet.createRow(1); HSS

POI 实现合并单元格以及列自适应宽度

POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2)); 自适应列宽度: sheet.autoSizeColumn(1); sheet.autoSizeColumn(1, true); 这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老. 注意:第一个方法在合并单元格的的单元格并不好使,必须用

在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 3.POI读取Excel有两种格式一个是HSSF,另一个是XSSF. HSSF和XSSF的区别如下: HSSF

poi导出Excel报表多表头双层表头、合并单元格

效果图: controller层方法: /**     *      * 导出Excel报表     * @param request     * @return     *      */    @RequestMapping("/export")    @ResponseBody    public void export(HttpServletRequest request,            HttpServletResponse response, String year

poi合并单元格同时导出excel

poi合并单元格同时导出excel POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,0,(short)1)); 跨第1行第1个到第2行第1个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,1,(short)0)); 重点注意事项: 1.单元格CELL

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

首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkbook(); //在工作簿中:建立空白工作表 ISheet sheet = workbook.CreateSheet(); //在工作表中:建立行,参数为行号,从0计 IRow row = sheet.CreateRow(0); //在行中:建立单元格,参数为列号,从0计 ICell cell = ro

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

首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkbook(); //在工作簿中:建立空白工作表 ISheet sheet = workbook.CreateSheet(); //在工作表中:建立行,参数为行号,从0计 IRow row = sheet.CreateRow(0); //在行中:建立单元格,参数为列号,从0计 ICell cell = ro

用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Excel中格式的设置,以及单元格的合并等等.下面就介绍下,使用NPOI类库操作Excel的方法. 1.首先我们先在内存中生成一个Excel文件,代码如下:   HSSFWorkbook book = new HSSFWorkbook();        ISheet sheet = book.CreateSheet("Sheet1"); 2.然后在新创建的sheet里面,创建我们的行和列,代码如下