Apache POI是Apache 软件 基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
HSSF - 提供读写Microsoft Excel 格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML 格式档案的功能。
HWPF - 提供读写Microsoft Word 格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio 格式档案的功能。
下面的代码演示了如何创建一个excel文件,并写数据:
package excel; import java.io.IOException; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.Date; import java.util.Random; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CreationHelper; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; public class SummaryHSSF { public static void main(String[] args) throws IOException { //创建Workbook对象(这一个对象代表着对应的一个Excel文件) //HSSFWorkbook表示以xls为后缀名的文件 Workbook wb = new HSSFWorkbook(); //Workbook wb = new XSSFWorkbook(); //获得CreationHelper对象,这个应该是一个帮助类 CreationHelper helper = wb.getCreationHelper(); //创建Sheet并给名字(表示Excel的一个Sheet) Sheet sheet1 = wb.createSheet("sheet01"); //Row表示一行Cell表示一列 Row row = null; Cell cell = null; row = sheet1.createRow(1); row.setHeightInPoints(20); for(int r=0;r<60;r=r+2){ //获得这个sheet的第i行 row = sheet1.createRow(r); //设置行长度自动 //row.setHeight((short)500); row.setHeightInPoints(20); //row.setZeroHeight(true); for(int col=0;col<25;col++){ //设置每个sheet每一行的宽度,自动,根据需求自行确定(宽度自适应) sheet1.autoSizeColumn(col+1, true); //创建一个基本的样式 CellStyle cellStyle = SummaryHSSF.makeNewCellStyle(wb); //获得这一行的每j列 cell = row.createCell(col); if(col==0){ //设置文字在单元格里面的位置 cellStyle = SummaryHSSF.alignmentDecorate(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER); //先创建字体样式,并把这个样式加到单元格的字体里面 cellStyle.setFont(createFonts(wb)); //把这个样式加到单元格里面 cell.setCellStyle(cellStyle); //给单元格设值(true作为单元格的值) cell.setCellValue(true); }else if(col==1){ //设置文字在单元格里面的位置 cellStyle = SummaryHSSF.alignmentDecorate(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER); //设置这个样式的格式(Format) cellStyle = SummaryHSSF.cellFormatDecorate(helper,cellStyle, "#,##0.0000"); //先创建字体样式,并把这个样式加到单元格的字体里面 cellStyle.setFont(createFonts(wb)); //把这个样式加到单元格里面 cell.setCellStyle(cellStyle); //给单元格设值 cell.setCellValue(new Double(2008.2008)); }else if(col==2){ cellStyle = SummaryHSSF.alignmentDecorate(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER); cellStyle.setFont(createFonts(wb)); cell.setCellStyle(cellStyle); cell.setCellValue(helper.createRichTextString("RichString"+r+col)); }else if(col==3){ cellStyle = SummaryHSSF.alignmentDecorate(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER); cellStyle = SummaryHSSF.cellFormatDecorate(helper,cellStyle, "yyyy-MM-dd hh:mm:ss"); cell.setCellStyle(cellStyle); cell.setCellValue(new Date()); }else if(col==24){ cellStyle = SummaryHSSF.alignmentDecorate(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER); cellStyle.setFont(createFonts(wb)); //设置公式,无"="号 cell.setCellFormula("SUM(E"+(r+1)+":X"+(r+1)+")"); }else{ cellStyle = SummaryHSSF.alignmentDecorate(cellStyle, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_CENTER); //背景设置 cellStyle = SummaryHSSF.fillBackgroundColorsDecorate(cellStyle,IndexedColors.ORANGE.getIndex(),IndexedColors.ORANGE.getIndex(),CellStyle.SOLID_FOREGROUND); cell.setCellStyle(cellStyle); cell.setCellValue(new Random().nextInt(20)); } } } //输出 OutputStream os = new FileOutputStream(new File("I:/SummaryHSSF_"+ (System.currentTimeMillis())+"_.xls")); wb.write(os); os.close(); } /** * 设置单元格 边框 风格(粗细,颜色) * @param wb 这一个对象代表着对应的一个Excel文件 * @return CellStyle */ public static CellStyle makeNewCellStyle(Workbook wb){ CellStyle cellStyle = wb.createCellStyle(); //设置一个单元格边框粗细(上下左右四边) cellStyle.setBorderBottom(CellStyle.BORDER_NONE); cellStyle.setBorderTop(CellStyle.BORDER_THIN); cellStyle.setBorderLeft(CellStyle.BORDER_THIN); cellStyle.setBorderRight(CellStyle.BORDER_THIN); //设置一个单元格边框颜色(上下左右四边) cellStyle.setRightBorderColor(IndexedColors.BLACK.getIndex()); cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex()); cellStyle.setBottomBorderColor(IndexedColors.BLACK.getIndex()); cellStyle.setTopBorderColor(IndexedColors.BLACK.getIndex()); return cellStyle; } /** * 设置文字在单元格里面的 对齐方式 * @param cellStyle * @param halign * @param valign decorate * @return */ public static CellStyle alignmentDecorate(CellStyle cellStyle,short halign,short valign){ //设置上下 cellStyle.setAlignment(CellStyle.ALIGN_CENTER); //设置左右 cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); return cellStyle; } /** * 格式化单元格 * 如#,##0.00,m/d/yy 去HSSFDataFormat或XSSFDataFormat里面找 * @param cellStyle * @param fmt * @return */ public static CellStyle cellFormatDecorate(CreationHelper helper,CellStyle cellStyle,String fmt){ //还可以用其它方法创建format cellStyle.setDataFormat(helper.createDataFormat().getFormat(fmt)); return cellStyle; } /** * 前景和背景填充的着色 * @param cellStyle * @param bg IndexedColors.ORANGE.getIndex(); * @param fg IndexedColors.ORANGE.getIndex(); * @param fp CellStyle.SOLID_FOREGROUND * @return */ public static CellStyle fillBackgroundColorsDecorate(CellStyle cellStyle,short bg,short fg,short fp){ //cellStyle.setFillBackgroundColor(bg); cellStyle.setFillForegroundColor(fg); cellStyle.setFillPattern(fp); return cellStyle; } /** * 设置字体 * @param wb * @return */ public static Font createFonts(Workbook wb){ //创建Font对象 Font font = wb.createFont(); //设置字体 font.setFontName("黑体"); //着色 font.setColor(HSSFColor.BLUE.index); //斜体 font.setItalic(true); //字体大小 font.setFontHeight((short)300); return font; } }
- poi-3.7-20101029.jar (1.6 MB)
- 下载次数: 7
- poi-examples-3.7-20101029.jar (257.9 KB)
- 下载次数: 5
- poi-ooxml-3.7-20101029.jar (486.6 KB)
- 下载次数: 3
- poi-scratchpad-3.7-20101029.jar (820.5 KB)
- 下载次数: 3
- poi-ooxml-schemas-3.7-20101029.jar (3.8 MB)
- 下载次数: 3
发表评论
-
CSDN表情批量下载
2014-07-24 16:55 672CSDN评论时有很多有趣的表情,可以通过程序将这些表 ... -
南京地铁票价查询
2014-07-16 16:27 1000查看南京地铁各个站点间的距离 import java.io ... -
在指定路径下搜索含指定关键词的所有文件
2012-10-28 08:58 1109这个功能类似notepad++的文件搜索功能,如全词匹配“in ... -
java系统托盘
2012-07-20 22:43 978import java.awt.*; import j ... -
多线程实例
2012-07-20 22:08 765public class Class1 { publ ... -
读配置文件,传参数,打印message
2012-06-21 19:43 1059为了将来维护,message内容可能需要更改 ... -
java 线程 模拟卖票
2012-05-27 13:35 1010package thread; import jav ... -
java URLConnection
2012-05-27 13:36 1236package net; import java.ne ... -
java JFileChooser
2012-05-26 21:06 1066import java.io.*; import ... -
java Vector
2012-05-26 20:40 797import java.util.Vector; im ... -
java applet GUI 2D
2012-05-26 20:09 1063package applet; import java.aw ... -
java AdjustmentListener,Scrollbar的使用
2012-05-26 20:03 1041package gui.event; import j ... -
java TextListener的使用
2012-05-26 19:57 1512package gui.event; import ... -
多线程模拟测试网站并发性
2012-05-25 21:11 2913网站开发完了后,需要测试网站能支持多少用户并发访问,下面的j ... -
java 字节流使用
2012-05-21 14:04 1104package advance.test; import ... -
java全屏
2012-04-22 14:54 1085下面的代码演示了如何让JFrame全屏显示: impo ... -
JDBC-ODBC桥连接方式连接MS ACCESS,配置数据源
2012-04-22 13:59 1407下面是通过jdbc-odbc连接ms access数据库的一种 ... -
java获取系统相关信息
2012-01-12 22:12 1609下面的代码可以获取系统的环境变量,操作系统、处理器、编码和语言 ...
相关推荐
Apache POI是Java领域中广泛使用的库,专为处理Microsoft Office格式的文件而设计,特别是Excel文档。这个库使得在不依赖Microsoft Office的情况下,开发者能够读取、创建、修改和操作XLS、XLSX等Excel文件。在本文...
在Java编程环境中,Apache POI库是一个非常实用的工具,它允许开发者处理Microsoft Office格式的文件,包括Excel的XLS和XLSX格式。本文将详细介绍如何使用Apache POI库来读取Excel 2007及以上版本(即XLSX格式)的...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java环境中,Apache POI 提供了一套API,使得...通过熟练掌握Apache POI,你可以提高Java应用程序与Excel交互的效率和灵活性。
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel(.xls)和Word(.doc)文档。HSSF(Horizontally Stored Sheet Format)是Apache POI项目的一部分,专注于处理旧版的Excel文件...
总结,Apache POI为Java开发者提供了强大的Excel操作工具,通过理解并熟练掌握其核心概念、API和使用方法,可以轻松地在Java应用中实现Excel文件的读写和处理。在实际项目中,根据需求选择合适的API,配合Maven配置...
Apache POI 是一个著名的开源项目,主要为处理微软的Office文档格式提供了一个强大的Java API。在Android开发中,Apache POI 提供了处理Excel文件的能力,使得开发者可以在Android设备上进行Excel的读写操作,无需...
Apache POI 是一个开源项目,专门用于处理Microsoft ...总之,Apache POI 是Java开发中处理Excel的强大工具,通过学习和掌握其API,我们可以轻松实现Excel文件的创建、读取和修改,为业务提供便利的数据导出功能。
在Java开发中,Apache POI 提供了API,使我们能够创建、修改和读取Excel文档。当我们需要导出Excel并设置打印参数时,Apache POI 提供了丰富的功能。 1. **创建Excel工作簿和工作表** 在使用Apache POI导出Excel时...
Java的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,尤其是Excel(.xlsx)文档。在本示例中,我们将深入探讨如何利用POI库来生成Excel中的图表曲线,这对于数据可视化和报告生成...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本文中,我们将深入探讨如何使用POI进行Excel的读写操作,并进行总结。 1. POI基本概念 Apache POI 提供了...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel和Word。它提供了Java API,使得开发者能够方便地在Java应用程序中创建、修改和读取这些文件。以下是对Apache POI的一些关键知识点的...
apache poi解析Excel时报错,我将Excel打开后保存,就不会报错,我将重写的类从新打包这样问题虽然网上有解决方案,但是需要自己打包重写对应类,我已将这些步骤做好了。
Java通过Apache POI库操作Excel是Java开发人员处理Microsoft Office文档的一种常见方法,特别是当需要在应用程序中生成、读取或修改Excel数据时。Apache POI是一个开源项目,提供了丰富的API,使得Java开发者能够...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。在"Apache POI 模板导出excel.rar"这个压缩包中,我们聚焦于使用Apache POI 3.16版本来生成基于Excel模板的...
Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 格式,如 Word、Excel 和 PowerPoint。在处理 Word .doc 文件时,POI 提供了一个名为 HWPF(Horizontally Written Property Set Files)的模块。这个...
通过Apache POI,开发者可以充分利用Java的强大功能来处理Excel文件,无论是生成报表、数据分析还是数据交换,都能提供极大的便利。博客文章“Apache POI 导出excel实例”应该会详细介绍这些步骤,并可能提供更具体...
接下来,我们转向Apache POI,这是一个用于处理Microsoft Office格式(如Excel)的Java库。Apache POI提供了一系列接口和类,允许开发者读取、写入和修改XLS(老版Excel)和XLSX(新版Excel)文件。创建Excel报表时...
### Java通过POI和JXL给Excel动态添加水印 #### 概述 在实际工作中,经常需要对敏感或重要的Excel文件进行保护措施,比如添加水印。这不仅可以增加文档的专业性,还可以作为版权保护的一种手段。本文将详细介绍...
Java中的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,尤其是Excel工作簿。本文将详细介绍如何使用POI库在Java中进行Excel的读写操作,以及一个在Eclipse环境中运行的实例。 ...