`
jiangduxi
  • 浏览: 458733 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java处理Excel全解一

阅读更多
在获取客户需求的时候,常常会出现"客户要求处理他们提供的Excel文件"。针对Excel文件的处理,比较完美的解决方案就是使用poi来进行处理。poi是Apache的Jakata项目的POI项目,目前来看还是比较成熟的HSSF接口,处理MSExcel对象。既然是处理Excel文件,那么先来了解下Excel的组成:一个Excel 文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成在了解了Excel的组成后,接着来了解下POI对应的用于处理Excel的一些对象。
引用

HSSFWorkbook          excel的文档对象
HSSFSheet             excel的表单
HSSFRow               excel的行
HSSFCell              excel的格子单元
HSSFFont              excel的字体
HSSFDataFormat        日期格式
HSSFHeader            sheet头
HSSFFooter            sheet尾(只有打印的时候才能看见效果)
HSSFCellStyle         cell样式
HSSFDateUtil          日期
HSSFPrintSetup        打印
HSSFErrorConstants    错误信息表

如果想要了解更多请到apache(www.apache.org)下载poi.jar.同时多看看API文档。
下面给出一个简单的example。

建立一个空的xls文件
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class createExcel {
   public static void main(String[] args) throws IOException {
	HSSFWorkbook workbook = new HSSFWorkbook();
	FileOutputStream fileOut = new FileOutputStream("c:\\workbook.xls");
	workbook.write(fileOut);
	fileOut.close();
	}
}

下面的是建立一个excel,并且写入一些值
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;


import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class CreateCells {
 
	public static void main(String args[]) throws IOException{
		HSSFWorkbook workbook = new HSSFWorkbook(); //建立新的HSSFWorkbook对象
		HSSFSheet sheet =workbook.createSheet("new sheet"); //建立新的sheet对象
		HSSFRow row = sheet.createRow((short)0);
		//在sheet里创建一行,参数为行号(第一行,此处可想象成数组)
		HSSFCell cell = row.createCell((short)0);
		//在row里建立新cell(单元格),参数为列号
		
		cell.setCellValue(1);//设置cell的整数类型的值
		row.createCell((short)1).setCellValue(1.2);//设置cell浮点类型的值
		row.createCell((short)2).setCellValue("test");//设置cell字符类型的值
		row.createCell((short)3).setCellValue(true);// 设置cell布尔类型的值
		
		HSSFCellStyle cellStyle = workbook.createCellStyle();//建立新的cell样式
		cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm")); //设置cell样式为定制的日期格式
		HSSFCell dCell = row.createCell((short)4);
		dCell.setCellValue(new Date()); //设置cell为日期类型的值
		dCell.setCellStyle(cellStyle);  //设置该cell日期的显示格式
		HSSFCell csCell = row.createCell((short)5);
		csCell.setCellValue("中文测试_chinese Words Test");
		FileOutputStream fileOut = new FileOutputStream("c:\\workbook.xls");
		workbook.write(fileOut);
		fileOut.close();
	System.out.println("-------------------");
	}
}

上面的方法比较标准化,但是显得有点繁琐,现在用一个方法来除去繁琐。这个方法不需要事先创建row和cell,直接进行cteateCell就可以了,在程序中会自动进行判断,如果不存在的话会创建。
	/**
	 * @param workbook   文档对象
	 * @param row        行
	 * @param col       cell单元格的位置也就是列号
	 * @param align     对齐的方式
	 * @param val       单元格里面的值
	 */
	private static void createCell(HSSFWorkbook workbook,HSSFRow row,short col,short align,String val){
		HSSFCell cell = row.createCell(col);
		cell.setCellValue(val);
		HSSFCellStyle cellStyle = workbook.createCellStyle();
		cellStyle.setAlignment(align);
		cell.setCellStyle(cellStyle);
	}

看看怎么去调用该createCell方法
 HSSFRow row = sheet.createRow((short)1);
 createCell(workbook,row,(short)0,HSSFCellStyle.ALIGN_CENTER_SELECTION,"TEXTID");

同时要设置一个单元格里面的信息的格式(比如居中)设置如下
   HSSFCellStyle cellstyle = workbook.createCellStyle();
   cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);
   cell.setCellStyle(cellstyle);

如果要合并单元格,则操作如下
 sheet.addMergedRegion(new Region(1,(short)1,2,(short)4));

这篇先到这里!附件中有poi-3.2.jar包
分享到:
评论

相关推荐

    Java处理Excel源代码

    在Java编程中,处理Excel文件是一项常见的任务,特别是在数据导入导出、数据分析或者报表生成等场景。本主题主要关注如何使用Java来读取、修改和写入Excel文件。以下是一些核心的知识点: 1. **Apache POI库**:...

    java生成excel图表

    "Java生成Excel图表" ...Java生成Excel图表是一个复杂的过程,需要选择合适的库和框架,处理大量数据,设计美学的图表布局等。但是,使用Java生成Excel图表可以提高工作效率,提高数据分析和报表生成的质量。

    java处理Excel表格案例

    在Java编程中,处理Excel表格是一项常见的任务,特别是在数据分析、数据导入导出或者报表生成等场景。本案例将深入探讨如何使用Java来操作Excel文件,包括读取、修改和创建Excel表格。 首先,我们需要了解Java中...

    java处理Excel相关poi包

    Java处理Excel时,通常会用到Apache POI库,这是一个强大的API,专为Microsoft Office文档(尤其是Excel)的创建和操作而设计。Apache POI允许Java开发者读取、写入和修改XLS(Excel 97-2003格式)和XLSX(Excel ...

    Java中Excel转图片工具包(纯java)

    Apache POI是一个常用的Java库,可以用于处理Microsoft Office文档,包括Excel。通过Apache POI,我们可以读取Excel工作表,然后使用库中的方法将这些工作表写入PDF文件。 2. **PDF转图片**:完成Excel到PDF的转换...

    java Excel导出 Excel数据处理

    在Java编程环境中,处理Excel数据并将其导出是一项常见的任务,尤其在数据分析、报表生成或者数据交换等场景中。Excel文件格式(.xlsx或.xls)因其直观易用和广泛支持而受到青睐。在这个主题中,我们将深入探讨如何...

    Java处理100万行超大Excel文件秒级响应

    EasyExcel是一个基于Java的简单、易用且高效的Excel处理工具,它支持读写Excel文件,并且能够有效地避免内存溢出问题。 **EasyExcel特点:** - **内存消耗低:** EasyExcel使用流式处理的方式读取Excel文件,只在...

    java处理excel数据

    在Java编程环境中,处理Excel数据是一项常见的任务,尤其在数据导入导出、数据分析或报表生成等场景下。本文将深入探讨如何使用Java有效地读取、筛选Excel中的数据。 首先,要处理Excel数据,我们需要引入相应的库...

    Java学习路线全解.zip

    Java学习路线全解.zip

    Java读取Excel表格中的日期

    针对上述问题,本文将介绍一种通过Java语言实现的解决方案,用于正确识别并处理Excel中的日期格式。 #### 核心知识点详解 ##### 1. 使用Apache POI库处理Excel 为了实现上述功能,通常会选择使用Apache POI库,这...

    利用Java实现复制Excel工作表功能

    Java是一种广泛应用于企业开发的编程语言,而Excel则是办公软件中的王者。今天,我们将介绍如何使用Java实现复制Excel工作表功能,包括在同一个工作簿内复制工作表和在不同工作簿间复制工作表两种情况。 复制工作表...

    java Excel上传 Excel数据处理

    1. **Maven依赖**:在Java项目中处理Excel文件,通常会用到Apache POI库。首先,你需要在项目的pom.xml文件中添加Apache POI的依赖。例如: ```xml <groupId>org.apache.poi <artifactId>poi <version>4.1.2 ...

    Java 操作Excel和Word的所有资料

    Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word...

    Java操作Excel(jxl.jar)

    在Java编程中,处理Excel文件是一项常见的任务,特别是在数据导入导出、数据分析或者报表生成等场景。本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者...

    java 导出excel,带图片的Excel导出

    1. **Apache POI库**:Apache POI是Java领域广泛使用的处理Microsoft Office格式文件的开源库,包括Excel(XLS和XLSX)。使用POI,我们可以创建、修改和读取Excel文件。对于导出带图片的Excel,我们需要使用它的HSSF...

    Java与Excel的交互资料

    Java与Excel的交互是Java开发中的一个重要应用领域,特别是在数据处理和报告生成方面。Java提供了多种库,如Apache POI和jxl,使得开发者能够轻松地读取、写入和修改Excel文件。以下是对给定资源中涉及的知识点的...

    完美解决java读取excel内存溢出问题.rar

    在Java开发中,处理大型Excel文件时,可能会遇到内存溢出的问题。这通常是由于Java的默认内存设置不足以处理大量数据导致的。本解决方案主要针对使用Apache POI库进行Excel读取时遇到的这类问题。 首先,Apache POI...

    java打印Excel(与打印机通信、jacob)

    总之,Java通过Jacob库与打印机通信打印Excel文档是一种实用的技术,它结合了Java的跨平台能力和Windows系统的丰富功能,为开发人员提供了一种灵活且强大的解决方案。在实际项目中,根据需求可以进一步优化和调整...

    Java+Excel+Api及详细教程

    1. Apache POI库:Apache POI是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。它提供了一套完整的API,可以创建、修改和读取Excel文件(XLS和XLSX格式)。使用POI,你可以轻松地添加、删除、...

    JdbcExcel纯Java连接Excel

    总的来说,纯Java连接Excel是Java开发者必备的一项技能,尤其在数据处理、报告生成或自动化测试等场景中。利用Apache POI库,开发者可以灵活地创建、修改和读取Excel文件,实现数据的导入导出,提高工作效率。结合...

Global site tag (gtag.js) - Google Analytics