以前用过导出excel使用的是jxl.jar,但是目前最高版本只支持excel2003,并不支持excel2007。所以poi支持excel2007,当然也支持excel2003以下各种版本。好了话不多说了,看例子:
excel2003我就不多说了,其实jxl就能很好的进行支持,我在这里说一下excel2007.
import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFColor; import org.apache.poi.xssf.usermodel.XSSFFont; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public static void main(String[] args) throws Exception { //输出流 OutputStream os = new FileOutputStream("D:/1.xlsx"); //要保存的excel文件 //工作区 XSSFWorkbook wb = new XSSFWorkbook(); //标题样式 XSSFCellStyle btStyle = wb.createCellStyle();//新建样式对象 XSSFFont btFont = wb.createFont();//创建字体对象 btFont.setFontName("宋体"); //字体 btFont.setBold(true);//是否加粗 btFont.setFontHeightInPoints((short) 15);//字体大小 btStyle.setFont(btFont); btStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER);//水平居中 btStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);//垂直居中 //卷次样式 XSSFCellStyle juanciStyle = wb.createCellStyle();//新建样式对象 XSSFFont juanciFont = wb.createFont();//创建字体对象 juanciFont.setFontName("宋体"); //字体 juanciFont.setBold(true);//是否加粗 juanciFont.setFontHeightInPoints((short) 13);//字体大小 juanciFont.setColor(new XSSFColor(ColourUtil.getHexToRGB("#7030A0")));//字体颜色 juanciStyle.setFont(juanciFont); //卷样式 XSSFCellStyle juanStyle = wb.createCellStyle();//新建样式对象 XSSFFont juanFont = wb.createFont();//创建字体对象 juanFont.setFontName("宋体"); //字体 juanFont.setBold(true);//是否加粗 juanFont.setFontHeightInPoints((short) 12);//字体大小 juanFont.setColor(new XSSFColor(ColourUtil.getHexToRGB("#008000")));//字体颜色 juanStyle.setFont(juanFont); //篇样式 XSSFCellStyle pianStyle = wb.createCellStyle();//新建样式对象 XSSFFont pianFont = wb.createFont();//创建字体对象 pianFont.setFontName("宋体"); //字体 pianFont.setBold(true);//是否加粗 pianFont.setFontHeightInPoints((short) 11);//字体大小 pianFont.setColor(new XSSFColor(ColourUtil.getHexToRGB("#92D050")));//字体颜色 pianStyle.setFont(pianFont); //章样式 XSSFCellStyle zhangStyle = wb.createCellStyle();//新建样式对象 XSSFFont zhangFont = wb.createFont();//创建字体对象 zhangFont.setFontName("宋体"); //字体 zhangFont.setBold(true);//是否加粗 zhangFont.setFontHeightInPoints((short) 10);//字体大小 zhangFont.setColor(new XSSFColor(ColourUtil.getHexToRGB("#0000FF")));//字体颜色 zhangStyle.setFont(zhangFont); //节样式 XSSFCellStyle jieStyle = wb.createCellStyle();//新建样式对象 XSSFFont jieFont = wb.createFont();//创建字体对象 jieFont.setFontName("宋体"); //字体 jieFont.setBold(true);//是否加粗 jieFont.setFontHeightInPoints((short) 9);//字体大小 jieFont.setColor(new XSSFColor(ColourUtil.getHexToRGB("#66FFFF")));//字体颜色 jieStyle.setFont(jieFont); //小节样式 XSSFCellStyle xiaojieStyle = wb.createCellStyle();//新建样式对象 XSSFFont xiaojieFont = wb.createFont();//创建字体对象 xiaojieFont.setFontName("宋体"); //字体 xiaojieFont.setBold(true);//是否加粗 xiaojieFont.setFontHeightInPoints((short) 8);//字体大小 xiaojieFont.setColor(new XSSFColor(ColourUtil.getHexToRGB("#C2AFEB")));//字体颜色 xiaojieStyle.setFont(xiaojieFont); //校注样式 XSSFCellStyle jiaoazhuStyle = wb.createCellStyle();//新建样式对象 XSSFFont jiaozhuFont = wb.createFont();//创建字体对象 jiaozhuFont.setFontName("宋体"); //字体 jiaozhuFont.setBold(true);//是否加粗 jiaozhuFont.setFontHeightInPoints((short) 8);//字体大小 jiaozhuFont.setColor(new XSSFColor(ColourUtil.getHexToRGB("#0000FF")));//字体颜色 jiaoazhuStyle.setFont(jiaozhuFont); String[] title = {"史籍语料","ID","唯一标示符号","标题级别","新增条目名","显示标题","主题词","分类"}; //创建第一个sheet XSSFSheet sheet= wb.createSheet("内容结构");//创建一个工作簿,并起个名字 //生成第一行 XSSFRow row = sheet.createRow(0); for(int i=0;i<title.length;i++){ Cell cell=row.createCell(i);//取得一行当中的列 cell.setCellValue(title[i]);//设置内容 cell.setCellStyle(btStyle);//设置样式 sheet.setColumnWidth(i, 30*256); // 设置列的宽度 } //写文件 wb.write(os); //关闭输出流 os.close(); }
读取excel2007,用poi实现也和简单,看例子:
import java.io.File; import java.io.FileInputStream; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public static void main(String[] args) throws Exception { //office2007工作区 XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream("D:/1.xlsx")); //获得该工作区的第一个sheet XSSFSheet sheet = wb.getSheetAt(0); //总共有多少行,从0开始 int totalRows = sheet.getLastRowNum(); for (int i = 0; i <= totalRows; i++) { //取得该行 XSSFRow row = sheet.getRow(i); System.out.println(row.getCell(0).toString());//读取该行的第几列,当前是读取该行的地0列。也就是第几个单元格,从0开始 } }
值得注意的是,XSSFWorkbook支持excel2007,而HSSFWorkbook支持excel2003。这两个类分别支持的。
相关推荐
这篇博客“Apache Poi Excel导出”可能详细介绍了如何使用Apache POI库来生成Excel文件,特别适用于数据导出或报表生成等场景。 Apache POI API 包含多个关键组件,如HSSF(Horizontally Stored Format)用于处理旧...
以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....
在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...
<groupId>org.apache.poi <artifactId>poi <version>3.9 <groupId>org.apache.poi <artifactId>poi-ooxml <version>3.9 1.//创建excel工作簿 Workbook wb = new HSSFWorkbook(); 解释:该方法相当于...
本篇文章将详细介绍如何使用JAVA POI导出Excel。 一、准备工作 在开始编写代码前,确保已经添加了Apache POI库到项目的依赖管理中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
本教程将详细讲解如何使用Apache POI在Web环境中导出Excel表格,避免生成不必要的临时文件,从而优化系统资源管理。 一、Apache POI简介 Apache POI 是一个开源项目,它提供了Java API来处理Microsoft的Office格式...
本文将深入讲解如何使用Apache POI创建一个简单的Excel导出工具类。 1. **安装与引入Apache POI** 在开始之前,你需要在项目中添加Apache POI的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ...
通过上述步骤,你就创建了一个基本的Java程序,能够使用Apache POI导出Excel文件。在项目中,你可以根据实际需求对这个示例进行扩展,比如从数据库读取数据、动态生成列名或自定义样式。这个"poi2"文件可能是包含此...
在本文中,我们将深入探讨如何使用POI库来导出Excel文档,以及涉及到的关键知识点。 一、POI简介 Apache POI 是一个开源项目,由Apache软件基金会维护。它的主要目标是提供一套API,使Java程序员能够方便地处理...
Java POI 是一个开源库...以上就是使用Java POI导出Excel 2007的实例源代码所涉及的主要知识点。通过这些步骤,开发者可以轻松地在Java程序中生成符合需求的Excel文件。在实际项目中,可以根据具体需求进行扩展和优化。
### 使用Apache POI导出Excel 2007并避免内存溢出问题 #### 背景介绍 在处理大量数据时,使用Java导出Excel文件可能会遇到内存溢出的问题,尤其是在导出Excel 2007(.xlsx格式)时更为常见。这是因为传统的`...
总结起来,这个例子展示了如何利用Apache POI将数据库查询结果导出为Excel文件供用户下载。这在数据分析、报表生成或数据交换场景中非常常见,因为Excel提供了灵活的格式化和分析功能。通过熟练掌握Apache POI,...
《使用Easy-Poi进行Excel导入导出的实践详解》 在现代企业中,数据处理是一项不可或缺的任务,而Excel作为常见的数据存储和分析工具,其导入导出功能在各种业务场景中发挥着重要作用。Easy-Poi是一款优秀的Java库,...
总之,这个 poi 多 sheet 导出工具类和实例是处理大量数据导出的有效方法,结合合理的数据分组、公共数据获取类以及优化策略,可以高效地生成多个 sheet 或多个 Excel 文件,满足大规模数据的导出需求。
总结起来,`Poi导出Excel工具类`是一个方便的Java库,简化了通过Apache POI处理Excel文件的过程,特别是对于需要导出大量数据和多sheet页的场景。开发者可以轻松地集成到自己的项目中,通过简单的API调用来快速生成...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。在这个"通用excel导入/导出 (poi)"的示例中,我们主要关注的是Excel文件的处理,特别是如何利用POI库进行数据...
这个“poi导出Excel 照葫芦画瓢”的项目很显然是教你如何使用 Apache POI 库来创建和导出 Excel 文件。下面将详细介绍 Apache POI 的基本用法以及在描述中提到的几个关键文件的作用。 首先,让我们来看看 Apache ...