`
jiangduxi
  • 浏览: 456458 次
  • 性别: 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项目源码

    1. **Apache POI库**:Apache POI是一个开源项目,提供了读写Microsoft Office格式文档的能力,包括Excel。在这个项目中,`lib`目录下的Apache POI jar文件是关键,例如poi-ooxml-schemas、poi-ooxml、poi等,它们...

    java处理Excel表格案例

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

    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学习路线全解.zip

    Java学习路线全解.zip

    Java读取Excel内容

    Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容

    Java读取Excel表格中的日期

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

    JAVA读取Excel,建库建表,并生成java实体

    Apache POI是一个广泛使用的Java API,它允许我们处理Microsoft Office格式的文件,包括Excel。通过使用POI库,我们可以轻松地读取Excel工作簿(Workbook)和工作表(Sheet),并访问其中的数据。 1. **安装Apache ...

    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文件,并向EXCEL中写入数据

    在Java编程环境中,我们经常需要处理数据的导入和导出,其中Excel文件是最常见的格式之一。本示例将介绍如何使用Java创建Excel文件并写入数据,主要涉及的库是`jxl`,这是一个用于读写Excel文件的开源Java库。 首先...

    Java操作Excel表格

    在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用和大数据处理方面。当我们谈论“Java操作Excel表格”时,通常是指使用Java来读取、写入或处理Microsoft Excel文件,这在数据分析、报表生成或者数据交换...

    java读取excel的每一行并用数据结构进行处理

    在Java编程中,读取Excel文件是常见的任务,特别是在数据处理和分析的场景下。Excel文件通常包含了大量结构化的数据,这些数据可以被映射到各种数据结构中,以便进行进一步的处理。在这个主题中,我们将深入探讨如何...

    Java与Excel的交互资料

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

    java操作excel工具类

    Java操作Excel工具类是开发过程中常见的一种需求,尤其是在数据导入导出、数据分析或者报表生成的场景下。在Java中,我们可以使用多种库来处理Excel文件,例如Apache POI、JExcelAPI、OpenCSV等。本篇文章将重点介绍...

    Java+Excel+Api及详细教程

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

    java 解析Excel 并判断解析的数据类型__Eclipse工程

    在Java编程环境中,解析Excel文件是一项常见的任务,特别是在数据处理、数据分析或自动化测试等领域。Eclipse作为Java开发的主流IDE,提供了丰富的工具和支持来完成这项工作。本项目名为"java 解析Excel 并判断解析...

    java将excel转html

    首先,Apache POI是Java的一个开源库,专门用于处理Microsoft Office格式的文件,如Excel(.xls和.xlsx)。它提供了一组API,使开发人员能够创建、修改和读取Excel文件。在“java将excel转html”的场景中,我们需要...

    java实现excel转csv

    在Java编程环境中,将Excel文件(.xls或.xlsx格式)转换为CSV文件是一项常见的任务,特别是在数据处理和分析中。本文将深入探讨如何利用Java来完成这个过程,主要使用Apache POI库,这是一个广泛使用的开源库,专门...

    Java处理Excel数据

    ### Java处理Excel数据 在日常开发工作中,对Excel文件的操作是一项常见的需求,特别是在涉及大量数据导入导出的情况下。本文档将详细介绍如何使用Java技术来处理Excel数据,包括但不限于读取Excel文件、解析其中的...

Global site tag (gtag.js) - Google Analytics