Apache POI 合并单元格--简单解释版带Demo

合并单元格所使用的方法:

sheet.addMergedRegion( CellRangeAddress  cellRangeAddress  );

CellRangeAddress  对象的构造方法需要传入合并单元格的首行、最后一行、首列、最后一列。

CellRangeAddress cra=new CellRangeAddress(0, 3, 3, 9);

怎样把数据写入合并后的单元格中

  1. 首先要查看你 CellRangeAddress 构造方法的firstcol index
  2. 创建firstcol cell对象
  3. cell 的set 方法写数据

在合并单元格的后一个位置写数据

  1. 查看  CellRangeAddress 构造方法的lastcol index
  2. 创建lastcol+1  cell
  3. cell 的set方法写数据

以下是demo:

 1 FileOutputStream fos=new FileOutputStream("D:\\13.xls");
 2
 3         Workbook wb=new HSSFWorkbook();
 4
 5         Sheet sheet=wb.createSheet();
 6         /*
 7          * 设定合并单元格区域范围
 8          *  firstRow  0-based
 9          *  lastRow   0-based
10          *  firstCol  0-based
11          *  lastCol   0-based
12          */
13         CellRangeAddress cra=new CellRangeAddress(0, 3, 3, 9);
14
15         //在sheet里增加合并单元格
16         sheet.addMergedRegion(cra);
17
18         Row row = sheet.createRow(0);
19
20         Cell cell_1 = row.createCell(3);
21
22         cell_1.setCellValue("When you‘re right , no one remembers, when you‘re wrong ,no one forgets .");
23
24         //cell 位置3-9被合并成一个单元格,不管你怎样创建第4个cell还是第5个cell…然后在写数据。都是无法写入的。
25         Cell cell_2 = row.createCell(10);
26
27         cell_2.setCellValue("what‘s up ! ");
28
29         wb.write(fos);
30
31         fos.close();  

原文地址:https://www.cnblogs.com/yanjie-java/p/8184338.html

时间: 2024-11-07 05:27:19

Apache POI 合并单元格--简单解释版带Demo的相关文章

apache poi 合并单元格 设置边框

HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //创建一个样式 HSSFCellStyle styleBorderThin= wb.createCellStyle(); setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框 setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左

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

poi 合并单元格 无边框问题

public void merge(int startrow,int endstartrow,int startColumn,int endColumn){ sht.addMergedRegion(new CellRangeAddress(startrow, endstartrow, startColumn, endColumn)); } 合并单元格时候  合并后的单元格部分边框会看不见.从而进行处理. 下面是处理样式的 方法. 单元格设置边框 public void setStyle(int

JAVA poi 合并单元格

完整帮助代码:JAVA poi 帮助类 // 得到一个sheet中有多少个合并单元格 Integer sheetMergeCount = sheet.getNumMergedRegions(); for (Integer i = 0; i < sheetMergeCount; i++) { // 获取合并后的单元格 CellRangeAddress range = sheet.getMergedRegion(i); String cellValue = itemList.get(range.ge

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

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

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

POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2)); 自适应列宽度: sheet.autoSizeColumn(1); sheet.autoSizeColumn(1, true); 这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,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中合并单元格和样式的处理

合并单元格: 在POI中,合并单元格只需用到一个方法即可,即addMergedRegion(CellRangeAddress region), 此方法HSSFSheet的一个方法,即在工作薄对象下调用此方法 CellRangeAddress的构造方法如下: CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)     如:sheet.addMergedRegion(new CellRangeAddress(2

实操记录之-----Ant Design of Vue 增强版动态合并单元格,自动根据数据进行合并,可自定义横纵向合并

前几天搞了个简易版的动态合并单元格 但是需求有变化,就只能稍微改改了~~ 欢迎路过的各位大佬指出我代码的问题~~~~ 另: 代码执行效率不是很高,如果需要大量渲染更多数据建议可以直接使用原生 <template> <page-view :title="title"> <h1>第一種數據結構,前端渲染</h1> <div class="snall-table-spacing"> <a-table :co