0 0

poi3.8 操作excel2007合并单元格没效果5

/**定性清单表头
  * @author 杨松涛
  */
 private void dxqdHeadLine(Sheet sheet,XSSFWorkbook wb) {
  Row header = sheet.createRow(0);//第一行  
//  //第一行内容
  createCell(wb,header,0,"基础字段");createCell(wb,header,27,"回访环节情况");createCell(wb,header,32,"预处理情况");
  createCell(wb,header,40,"处理环节情况");createCell(wb,header,48,"定性审核环节");createCell(wb,header,56,"定性复核环节");
  createCell(wb,header,64,"分公司细化定责环节");createCell(wb,header,69,"原始服务产品类型");createCell(wb,header,71,"最终定性结果");
  createCell(wb,header,82,"客户属性");createCell(wb,header,89,"关联省公司考核班组");createCell(wb,header,90,"关联分公司考核班组");
  
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,0,0,26));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,27,0,31));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,32,0,39));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,40,0,47));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,48,0,55));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,56,0,63));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,64,0,68));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,69,0,70));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,71,0,81));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,82,0,88));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,89,1,89));
  sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0,90,1,90));

 

只有第一个,"基础字段"合并了有效果,其他后面的字段都没合并

POI 
2012年12月11日 16:08

1个答案 按时间排序 按投票排序

0 0

采纳的答案

简单测试了一下没有问题:

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class TestMerge {
	public void test()throws IOException {
		XSSFWorkbook wb=new XSSFWorkbook();
		Sheet sheet=wb.createSheet();
		dxqdHeadLine(sheet, wb);
		wb.write(new FileOutputStream("d:/1.xlsx"));
	}

	private void dxqdHeadLine(Sheet sheet, XSSFWorkbook wb) {
		Row header = sheet.createRow(0);// 第一行
		// //第一行内容
		createCell(wb, header, 0, "基础字段");
		createCell(wb, header, 27, "回访环节情况");
		createCell(wb, header, 32, "预处理情况");
		createCell(wb, header, 40, "处理环节情况");
		createCell(wb, header, 48, "定性审核环节");
		createCell(wb, header, 56, "定性复核环节");
		createCell(wb, header, 64, "分公司细化定责环节");
		createCell(wb, header, 69, "原始服务产品类型");
		createCell(wb, header, 71, "最终定性结果");
		createCell(wb, header, 82, "客户属性");
		createCell(wb, header, 89, "关联省公司考核班组");
		createCell(wb, header, 90, "关联分公司考核班组");

		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 0, 0, 26));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 27, 0, 31));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 32, 0, 39));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 40, 0, 47));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 48, 0, 55));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 56, 0, 63));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 64, 0, 68));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 69, 0, 70));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 71, 0, 81));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 82, 0, 88));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 89, 1, 89));
		sheet.addMergedRegion(ExcelTool.getCellRangeAddress(0, 90, 1, 90));
	}

	private void createCell(XSSFWorkbook wb, Row header, int column, String text) {
		Cell cell=header.createCell(column);
		cell.setCellValue(text);
	}

	public static void main(String[] args)throws Exception {
		new TestMerge().test();
	}

}


import org.apache.poi.ss.util.CellRangeAddress;

public class ExcelTool {

	public static CellRangeAddress getCellRangeAddress(int firstRow,
			int firstCol, int lastRow, int lastCol) {
		return new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);
	}

}

是不是你把参数的行号、列号搞错了

2012年12月12日 10:07

相关推荐

    poi 3.8 3.9 3.10 3.15 3.17各种版本

    - 提供了对Excel表格的更好支持,包括合并单元格、排序和过滤等操作。 - 增强了对Word文档宏的支持。 在实际开发中,选择哪个版本的POI主要取决于你的需求。如果你的项目只需要处理基本的Excel和Word功能,可以...

    POI_3.8_API

    - 行(Row):包含单元格(Cell),可以设置行高和合并单元格。 - 单元格(Cell):可以存储各种类型的数据,如字符串、数字、日期或公式。 - 样式(Style):允许设置单元格的字体、颜色、对齐方式、边框等格式...

    poi3.8 源代码 解析Excel

    在"poi3.8 源代码 解析Excel"这个主题中,我们主要关注的是如何使用POI库来解析和操作Excel文件。POI 3.8 是一个较早的版本,但它仍然具有广泛的兼容性和实用性,尤其是对于解析Excel 2007(.xlsx)这样的新格式。 ...

    poi3.8 jar包

    3. **基本操作**: 使用Apache POI,你可以创建新的工作簿或文档,添加工作表,插入单元格,设置公式,应用样式,处理图表,合并单元格,读取数据,以及更多其他操作。 4. **事件模型**: 为了解决处理大型文件时内存...

    poi操作excel2007

    Apache POI是一个开源...通过组合这些基本操作,你可以实现更复杂的功能,如合并单元格、插入图表、读写公式等。注意,由于版本3.8相对较旧,某些新功能可能未被支持,建议使用更新的版本以获得更好的兼容性和性能。

    poi-3.8.zip

    7. **其他功能**:除了基本的读写操作,Apache POI还提供了如合并单元格、图表操作、数据验证等功能。 使用Apache POI 3.8时,开发者需要注意一些兼容性和性能问题。虽然3.8版本是稳定的,但之后的版本可能修复了...

    poi-3.8组件

    5. **模板处理**:利用Apache POI,开发者可以创建Excel模板,然后在运行时动态填充数据,这对于批量生成报告或者邮件合并非常有用。 6. **性能优化**:在处理大量数据时,POI提供了一些优化策略,比如SXSSF...

    poi-3.8.rar exel处理工具

    除了基本的读写操作,Apache POI还支持复杂的功能,如合并单元格、图表、图片以及条件格式化。例如,可以使用以下代码将多个单元格合并: ```java sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2)); ``` ...

    导出excel文档所需要的poi的jar包

    这样,你就可以利用Apache POI提供的API来创建复杂的Excel报表,比如设置单元格的值、格式、公式,合并单元格,插入图表,应用条件格式等等。同时,Apache POI还支持读取已有的Excel文件,方便进行数据导入、分析和...

    excelPOI.zip

    本案例中的"excelPOI.zip"是一个压缩包,其中包含了使用Apache POI 3.8版本进行Excel导出操作的示例代码。这个实用类提供了方便的方法来帮助开发人员快速实现Excel数据的导出功能。 Apache POI项目分为两个主要部分...

    POI包最新版3.8-beta4-20110826

    总结,Apache POI 3.8-beta4是一个用于处理Microsoft Office文档的Java库,它提供了对Excel、Word和PowerPoint文件的强大支持。通过这个库,开发者可以在Java环境中方便地读取、写入和操作这些文件,广泛应用于数据...

    POI操作excel的所有jar包(3.7-3.10)+dom4j.jar+xmlbean.jar

    - 处理行、列的操作,如合并单元格、调整列宽等。 - 支持老版的.xls和新版的.xlsx格式。 总的来说,Apache POI是一个强大的工具,尤其适用于Java开发者处理Excel文件的需求。结合dom4j和xmlbeans,它可以提供对XML...

    poi-examples-3.8-beta5-sources.jar.zip

    9. **高级功能**:除了基础操作,POI还支持合并单元格、超链接、数据验证、图片插入等功能。 学习和理解Apache POI的源代码示例,不仅可以提高你在Excel文件处理上的技能,还可以深入了解Java的IO和序列化机制,...

    操作excel的POI核心jar包

    在实际应用中,开发人员还可以利用POI进行更复杂的操作,比如合并单元格、添加图表、处理公式、读取数据验证规则等。同时,需要注意的是,由于POI是基于内存的处理方式,对于大型Excel文件,可能需要考虑性能优化,...

    poi-scratchpad-3.8.jar.rar

    "poi-scratchpad-3.8.jar"是Apache POI的一个特定版本,用于支持对Office文档的操作。 1. **Apache POI基本概念** - **组件**:Apache POI包括HSSF(Horrible Spreadsheet Format)用于处理老版的.BIFF格式(Excel...

    org.apache.poi 3.17最新官方版文件操作jar包

    - Excel处理:Apache POI提供了HSSF(旧版的BIFF8格式,.xls)和XSSF(基于XML的OpenXML格式,.xlsx)API,可以创建、读取、修改Excel工作簿、工作表、单元格等。 - Word处理:使用HWPF处理老版本的Word文档(.doc...

    poi导出excel

    1. `poi-ooxml-schemas-3.8-20120326.jar`:这个文件包含了OOXML(Office Open XML)的模式定义,使得POI能够理解和操作基于此标准的Excel文件。 2. `xmlbeans-2.3.0.jar`:XMLBeans是Apache的一个子项目,它提供了...

    poi操作word实例

    在实际开发中,你可能会遇到的问题包括但不限于:字体、颜色、对齐方式的设置,表格、列表的创建,以及合并单元格等。Apache POI提供了一系列方法来处理这些问题,例如设置文本的字体和颜色可以通过`run....

    java操作excel的jar包

    5. 高级功能:包括合并单元格、插入图表、处理超链接、应用条件格式等。 为了使用这些jar包,开发者需要在项目的类路径中包含这三个库,并通过import导入相应的类。例如,创建一个新的Excel文件可以如下操作: ```...

    java导出EXCEL

    在这个例子中,使用的版本是"poi-3.8-beta5-20111217.jar",这是一个较早的版本,但仍然可以完成基本的Excel操作。Apache POI提供了HSSFWorkbook类,用于处理Excel的.HSSF格式(Excel 97-2003工作簿),而...

Global site tag (gtag.js) - Google Analytics