POI官方网址:http://poi.apache.org/
POI的功能实在很强大,而且是apache的子项目,它下面又包含一些Component,比如处理Excel XLS,PowerPoint PPT,Word DOC,Outlook MSG,Excel XLSX等,下面就简单讲下poi处理excel的一些内容。
下面的jar包来源于当前最新的poi 3.6版本。
1.poi来生成excel
package com.test.poi;
import java.io.FileOutputStream;
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.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.util.CellRangeAddress;
public class WriteExcel {
public static void main(String[] args) throws Exception {
// 创建Excel的工作书册 Workbook,对应到一个excel文档
HSSFWorkbook wb = new HSSFWorkbook();
// 创建Excel的工作sheet,对应到一个excel文档的tab
HSSFSheet sheet = wb.createSheet("sheet1");
// 设置excel每列宽度
sheet.setColumnWidth(0, 4000);
sheet.setColumnWidth(1, 3500);
// 创建字体样式
HSSFFont font = wb.createFont();
font.setFontName("Verdana");
font.setBoldweight((short) 100);
font.setFontHeight((short) 300);
font.setColor(HSSFColor.BLUE.index);
// 创建单元格样式
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
// 设置边框
style.setBottomBorderColor(HSSFColor.RED.index);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setFont(font);// 设置字体
// 创建Excel的sheet的一行
HSSFRow row = sheet.createRow(0);
row.setHeight((short) 500);// 设定行的高度
// 创建一个Excel的单元格
HSSFCell cell = row.createCell(0);
// 合并单元格(startRow,endRow,startColumn,endColumn)
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
// 给Excel的单元格设置样式和赋值
cell.setCellStyle(style);
cell.setCellValue("hello world");
// 设置单元格内容格式
HSSFCellStyle style1 = wb.createCellStyle();
style1.setDataFormat(HSSFDataFormat.getBuiltinFormat("h:mm:ss"));
style1.setWrapText(true);// 自动换行
row = sheet.createRow(1);
// 设置单元格的样式格式
cell = row.createCell(0);
cell.setCellStyle(style1);
cell.setCellValue(new Date());
// 创建超链接
HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
link.setAddress("http://www.baidu.com");
cell = row.createCell(1);
cell.setCellValue("百度");
cell.setHyperlink(link);// 设定单元格的链接
FileOutputStream os = new FileOutputStream("e:\\workbook.xls");
wb.write(os);
os.close();
}
}
2.poi读取excel
package com.test.poi;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
public class ReadExcel {
public static void main(String[] args) throws Exception {
HSSFWorkbook wb = null;
POIFSFileSystem fs = null;
try {
fs = new POIFSFileSystem(new FileInputStream("e:\\workbook.xls"));
wb = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
}
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell(0);
String msg = cell.getStringCellValue();
System.out.println(msg);
}
public static void method2() throws Exception {
InputStream is = new FileInputStream("e:\\workbook.xls");
HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(is));
ExcelExtractor extractor = new ExcelExtractor(wb);
extractor.setIncludeSheetNames(false);
extractor.setFormulasNotResults(false);
extractor.setIncludeCellComments(true);
String text = extractor.getText();
System.out.println(text);
}
public static void method3() throws Exception {
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream("e:\\workbook.xls"));
HSSFSheet sheet = wb.getSheetAt(0);
for (Iterator<Row> iter = (Iterator<Row>) sheet.rowIterator(); iter.hasNext();) {
Row row = iter.next();
for (Iterator<Cell> iter2 = (Iterator<Cell>) row.cellIterator(); iter2.hasNext();) {
Cell cell = iter2.next();
String content = cell.getStringCellValue();// 除非是sring类型,否则这样迭代读取会有错误
System.out.println(content);
}
}
}
}
注:HSSFWorkbook,XSSFWorkbook的区别:前者是解析出来excel 2007 以前版本的,后缀名为xls的,后者是解析excel 2007 版的,后缀名为xlsx。
在实际应用中,要对excel文件进行判断,该用哪个workbook来对其进行解析处理,而且,通常把这些方法都做了相应封装,使其更面向对象,上例只是main方法的简单示例而已,仅供参考!
相关推荐
Apache POI项目提供了一系列用于读写Microsoft Office格式文件的Java API,其中包括对Excel的支持。本文将详细介绍如何使用Apache POI实现Excel的导出功能,并在此基础上实现自动换行。 #### 一、Apache POI简介 ...
Apache POI是一个广泛使用的开源项目,它提供了Java API来创建、修改和显示Microsoft Office格式的文件,包括Excel。通过Apache POI,我们可以创建新的Excel工作簿,添加工作表,设置单元格样式,以及填充数据。在...
在Java世界中,如果你需要对Excel进行操作,比如读取、写入或者修改数据,Java POI是一个非常重要的工具。这个"java poi_3.15依赖库"就是POI项目的3.15版本,提供了对Excel文件处理的所有必需类和方法。 在描述中...
Apache POI提供了丰富的API,使得开发者能够使用Java处理Excel文件的各种操作,如读取、写入、修改等。描述中还提到,这个资源来自于CSDN(Chinese Software Developer Network)网上平台,一个中国程序员交流和学习...
Apache POI 是一个开源项目,它提供了Java API来处理Microsoft Office格式的文件,如XLS(Excel),DOC(Word)和PPT。在我们的场景中,我们将专注于PPT文件的创建。 2. **POI与PPT文件结构**: PowerPoint文档由...
在使用Java POI时,你可以通过以下步骤来解析和操作Word和Excel文件: 1. **添加依赖**:首先,你需要在你的项目中引入Apache POI的相关库。对于Maven项目,可以通过添加以下依赖到pom.xml文件来获取: ```xml ...
【标题】:"POI批量导入导出" ...总的来说,Apache POI是一个强大而灵活的工具,能够帮助Java开发者实现对Excel文件的高效批量操作,满足各种企业级应用的需求,尤其是在数据导入导出、报表生成和跨平台协作的场景下。
Java中的Apache POI库是处理Microsoft Office格式文件(如Excel)的强大工具,尤其适用于在程序中进行读取、写入和操作Excel数据。本项目基于Java的MyEclipse集成开发环境,提供了完整的源代码示例,帮助开发者了解...
标题"poi导入导出excel所需jar"和描述"java 使用poi导入导出excel所需的最新jar包"都指向了使用Apache POI进行Excel操作的关键依赖——POI相关的JAR文件。 Apache POI项目始于2001年,旨在为开源社区提供一个API,...
Apache POI是Java领域内广泛使用的库,用于读取、写入和修改MS Office格式的文件,包括Word、Excel和PowerPoint等。 **Apache POI介绍** Apache POI是一个开源项目,它提供了一套API,允许程序员用Java语言来创建...
Apache POI 是Java平台上的一个API,它允许开发者创建、修改和显示MS Office格式的文件。对于Excel,POI提供了HSSF(Horrible Spreadsheet Format)用于处理.xls文件,而XSSF(XML Spreadsheet Format)则用于处理....
EasyUIPoI是一款基于Apache POI的Java工具库,专门用于简化Excel的导出操作,尤其在处理模板和合并单元格方面提供了便利。这个库主要适用于那些需要在Web应用中生成Excel报告或导出数据的场景,比如数据分析、报表...
在Java环境中,当你需要读取、写入或操作Excel文件(包括.xls和.xlsx格式)时,Apache POI库成为了不可或缺的工具。标题中的"poi-4.0.0.rar"指的是该版本的Apache POI库的压缩文件,它包含了运行相关Java程序所需的...
在Java环境中,Apache POI提供了一种强大的API,允许开发者读取、写入和修改这些文件。本资源包含了一个 poi 的jar包以及相关的源码,方便进行Excel文件的导入操作。 首先,我们要理解Apache POI中的核心类...
1. **Java导出Excel的组件**:Apache POI提供了API,使得Java程序员能够创建、修改和读取Excel文件。它支持老版的.BIFF8格式(XLS)以及较新的OOXML格式(XLSX)。这在数据处理、报表生成、数据分析等领域非常有用,...
标题中的“pio的jar包”实际上指的是Apache POI项目,这是一个用于处理Microsoft Office格式文档的Java库,特别是针对Excel(.xlsx, .xls)文件。Apache POI提供了一组API,使得开发人员能够轻松地在Java应用程序中...
在IT行业中,Apache POI是一个广泛使用的库,主要用于读取、写入以及操作Microsoft Office格式的文件,如Word、Excel和PowerPoint。本项目聚焦于使用Apache POI库按照预设的Word模板生成合同,并进一步将生成的合同...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。这个"poi.jar资源"包含的是Apache POI的核心组件,版本为3.16,能够帮助开发者在Java应用程序中读取、写入以及...
综上所述,Java编程中将Excel导入MySQL涉及到的主要知识点有:使用Apache POI读取Excel文件、遍历单元格、处理单元格数据、构建SQL语句以及数据库操作。在实际项目中,还需要考虑数据清洗、错误处理、性能优化等问题...
【标题】:“poi相关架包”指的是Apache POI项目中的必备库文件,这些库使得开发者能够在Java环境中读取、写入以及操作Microsoft Office格式的文件,如Excel、Word和PowerPoint。 【描述】:Apache POI是一个开源...