package poi.excel;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellUtil;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelRW {
/**
* 根据提供的文件全路径,加载EXCEL文件( 兼容 xls 和 xlsx )
* @param filename
* @return
* @throws Exception
*/
public static Workbook readExcel(String filename) throws Exception{
Workbook wb = null;
if(null!=filename&&!"".equals(filename)){
if(filename.substring(filename.lastIndexOf(".")+1).equals("xls")){
wb = new HSSFWorkbook(new FileInputStream(filename));
}else{
wb = new XSSFWorkbook(new FileInputStream(filename));
}
}
return wb;
}
/**
* 根据传入的Workbook对象,进行解析excel
* @param wb
* @throws Exception
*/
public static void parseExcel(Workbook wb) throws Exception{
Sheet sheet1 = wb.getSheet("Sheet1"); //获取Sheet1
Row row = sheet1.getRow(2);//第3行 //获取制定行
System.out.println(row.getCell(0)+","+row.getCell(1)); //获取指定的单元格
}
public static void wirteExcel(String filename,Workbook wb) throws Exception{
Sheet sheet1 = wb.getSheet("Sheet1");
Row row = sheet1.getRow(2);//第3行
Cell c3 = row.getCell(2)==null?row.createCell(2):row.getCell(2); //如果单元格为NULL,则创建空白单元格
Cell d3 = row.getCell(3)==null?row.createCell(3):row.getCell(3);
c3.setCellValue("2012-08-17"); //设置字符串
d3.setCellValue(10); //设置int值
CellUtil.getCell(sheet1.getRow(0), 3).setCellFormula(CellUtil.getCell(sheet1.getRow(0), 3).getCellFormula()); //当单元格含有计算公式时,通过setvalue方式。公式不会自动进行运算,需要重置一下单元格公式即可。
if(wb instanceof XSSFWorkbook) filename += "x"; //保存成excel文件,可以自动判断workbook实例,声称对应的文件
FileOutputStream out = new FileOutputStream(filename);
wb.write(out);
out.close();
}
public static void main(String[] args) throws Exception {
Workbook wb = ExcelRW.readExcel("E:/mazq/test.xlsx");
parseExcel(wb);
ExcelRW.wirteExcel("E:/mazq/test1.xls",wb);
}
}
分享到:
相关推荐
- POI 3.8是Apache POI项目的一个特定版本,它提供了对旧版(如Excel 2003,使用`.xls`格式)和较新版本(如Excel 2007及以上,使用`.xlsx`格式)的Microsoft Office文件的支持。 - POI库基于HSSF(Horizontally ...
标题“读写Excel2007 POI3.8”涉及的是使用Apache POI库的3.8版本处理Microsoft Excel 2007文件的方法。Apache POI是Java的一个开源项目,专门用于读取、创建和修改Microsoft Office格式的文件,特别是Excel文件。在...
标题提到的"poi3.8 doc,excel转html",指的是使用Apache POI库的3.8版本进行Microsoft Office文档(尤其是DOC和XLS)到HTML的转换。Apache POI是一个流行的Java库,专门用于读取、写入和操作Microsoft Office格式的...
在这个"导入excel 导出excle poi3.8 全量包"中,主要关注的是使用POI 3.8版本来操作Excel文件。这个版本的POI提供了一套完整的API,允许开发者在Java环境中读取、写入和修改Excel文件,而无需依赖于Microsoft Office...
在给定的标题“Excel操作工具poi3.8”中,我们关注的是POI 3.8版本,这是一个适用于处理Excel文件的强大工具。在这个版本中,用户可以进行数据读取、写入、格式化以及复杂的公式计算等操作。 首先,我们需要理解...
以下将详细介绍Apache POI在处理Excel方面的功能,特别是对2003年至2010年版本的支持。 1. **Apache POI简介**: Apache POI是一个Java库,允许开发人员创建、修改和显示Microsoft Office格式的文件。它提供了API...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel(XLS、XLSX)、Word(DOC、DOCX)等。在Java环境中,POI库提供了丰富的API,使得开发者能够方便地读取、写入和操作这些文件。在给定的...
11. **poi3.8版本.rar**:这可能是整个Apache POI 3.8的源码或附加资源,方便开发者进行深入研究或定制开发。 使用这些库,开发者可以创建Java应用程序来导入和导出Excel文件,例如,创建新的工作簿,添加工作表,...
POI 3.8是该项目的一个较早版本,它提供了对Office文档的读写支持,尤其在Java环境中非常实用。这个压缩包包含的6个jar文件是POI 3.8版的核心组件,每个都有特定的功能: 1. **poi-3.8-20120326.jar**:这是Apache ...
在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...
标题中的"poi3.8jar包"指的是Apache POI项目的3.8版本的Java库,这个库以JAR(Java Archive)文件的形式提供,便于Java开发者在他们的应用中集成对Office文档的支持。 Apache POI的主要功能: 1. **Excel处理**: ...
- POI 3.8 版本针对Android进行了优化,减少了对Android系统的API依赖,使其能在各种Android设备上运行。 3. **内存效率:** - POI 提供了低内存占用的处理方式,如SXSSF(Streaming Usermodel API),适合处理...
POI 3.8 API 提供了丰富的接口和类,使得开发者能够高效地操作Excel、Word和PPT文件。 在Java中读取Excel文件,主要涉及以下几个核心概念: 1. **工作簿(Workbook)**:在POI中,工作簿代表了一个Excel文件,它...
"poi 3.8jar 包"是Apache POI的一个版本,特别提及的是3.8-beta5,尽管这个版本是Beta版,但在处理Excel文档方面已经相当成熟。 1. **Apache POI介绍**: Apache POI 是Apache软件基金会的项目之一,主要为Java...
在标题“poi3.8”中提到的版本3.8是该项目的一个历史版本,发布于2012年9月。这个版本包含了对处理Excel、Word和PowerPoint文件的API改进和修复。 在POI 3.8中,主要的知识点包括: 1. **Excel处理**: - HSSF...
在这个 poi-3.8 相关的压缩包中,我们主要关注的是如何使用Apache POI来解析Excel 2003和2007版的文件。 在Excel 2003中,文件格式通常是.XLS,它基于BIFF(Binary Interchange File Format)结构。而Excel 2007及...
标题提到的"poi3.8,3.9,3.10jar包"分别代表了三个不同版本的Apache POI库,每个版本都有其特定的改进和新特性。 在Excel处理方面,Apache POI相比于早期的jxl库,提供了更多的功能和更好的性能。以下是Apache POI在...
这个版本支持对Excel的两种主要格式进行读写操作:BIFF8(.xls)和OOXML(.xlsx)。BIFF8是Excel 97-2003使用的格式,而OOXML则是从Excel 2007开始引入的新格式。 1. **Excel处理**: - **HSSF(Horrible ...
以下是对POI 3.8 API的一些详细说明和相关知识点: 1. **Excel处理**: - **HSSF(Horizontally Stored Spreadsheet Format)**: 这是POI用来处理旧版的.BIFF格式(Excel 97-2007)的接口。你可以创建工作簿、工作...
在"poi3.8 源代码 解析Excel"这个主题中,我们主要关注的是如何使用POI库来解析和操作Excel文件。POI 3.8 是一个较早的版本,但它仍然具有广泛的兼容性和实用性,尤其是对于解析Excel 2007(.xlsx)这样的新格式。 ...