1.Jakarta POI 是apache的子项目,目标是处理ol2对象。它提供了一组Windows文档操作的Java API。
2.EXCEL 结构
HSSFWorkbook excell 文档对象介绍
HSSFSheet excell的表单
HSSFRow excell的行
HSSFCell excell的格子单元
HSSFFont excell字体
HSSFName 名称
HSSFDataFormat 日期格式
在poi1.7中才有以下2项:
HSSFHeader sheet头
HSSFFooter sheet尾
和这个样式
HSSFCellStyle cell样式
辅助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表
3.简单的用法
创建Excel
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class NewWorkbook {
public static String outputFile = "C:/test1.xls";
public static void main(String[] args) {
try {
HSSFWorkbook wb = new HSSFWorkbook();//create new HSSFWorkbook object
FileOutputStream fileOut = new FileOutputStream(outputFile);
wb.write(fileOut);//Workbook-->test1.xls
fileOut.flush();
fileOut.close();
System.out.println("The file has been created.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
简单的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 String fileTobewrite = "C:/test1.xls";
public static void main(String[] args) throws IOException {
try {
HSSFWorkbook wb = new HSSFWorkbook();//create new HSSFWorkbook object
HSSFSheet sheet = wb.createSheet("new sheet");// create new sheet object
//Create a row and put some cells in it. Rows are 0.
HSSFRow row = sheet.createRow(0);//create new row
//Create a cell and put a value in it.
HSSFCell cell = row.createCell(0);//create new cell
cell.setCellValue(1);//setting the cell value
//do it on one line
row.createCell(1).setCellValue(1.2);
row.createCell(2).setCellValue("test");
row.createCell(3).setCellValue(true);
HSSFCellStyle cellStyle = wb.createCellStyle();//new cell style
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));// set date style
HSSFCell dcell = row.createCell(4);//create new cell
dcell.setCellValue(new Date());
dcell.setCellStyle(cellStyle);
HSSFCell csCell = row.createCell(5);
csCell.setCellType(HSSFCell.ENCODING_UTF_16);
csCell.setCellValue("中文测试_Chinese Words Test");//set cell code
row.createCell(6).setCellType(HSSFCell.CELL_TYPE_ERROR);
//write the output to a file
FileOutputStream fileOut = new FileOutputStream(fileTobewrite);
wb.write(fileOut);
fileOut.flush();
fileOut.close();
System.out.println("The cells have been added.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
简单的Excel读操作
import java.io.FileInputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ReadExcel {
public static String fileTobeRead = "C:/test1.xls";
public static String getCellValue(HSSFCell cell){
String value = null;
if (cell != null)
{
//get the type of the cell
int cellType = cell.getCellType();
switch (cellType)
{
//""
case HSSFCell.CELL_TYPE_BLANK :
value = "";
break;
//Boolean
case HSSFCell.CELL_TYPE_BOOLEAN :
value = cell.getBooleanCellValue() ? "TRUE" : "FALSE";
break;
//Error
case HSSFCell.CELL_TYPE_ERROR :
value = "ERR-" + cell.getErrorCellValue();
break;
//Formula
case HSSFCell.CELL_TYPE_FORMULA :
value = cell.getCellFormula();
break;
//Numeric
case HSSFCell.CELL_TYPE_NUMERIC :
//Date
if (HSSFDateUtil.isCellDateFormatted(cell))
{
//change to "yyyy-MM-dd"
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
value = sdf.format(cell.getDateCellValue());
}
//Number
else
{
value = cell.getNumericCellValue() + "";
}
break;
//String
case HSSFCell.CELL_TYPE_STRING :
value = cell.getStringCellValue();
break;
//Other
default :
value = "Unknown Cell Type:" + cell.getCellType();
}
}
return value;
}
public static void main(String[] args) {
try {
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(fileTobeRead));
HSSFSheet sheet = wb.getSheet("new sheet");
//getSheetAt(int index) first sheet index is 0.
int rowNum = sheet.getPhysicalNumberOfRows();
int cellNum;
System.out.println("Row number is " + rowNum);
HSSFRow row;
HSSFCell cell;
for(int i=0;i<sheet.getPhysicalNumberOfRows();i++){
row = sheet.getRow(i);
cellNum = row.getPhysicalNumberOfCells();
System.out.println("cell number is " + cellNum);
for(int j = 0; j < cellNum; j++){
cell=row.getCell(j);
System.out.println("row " + i + "cell "+ j + ":" + getCellValue(cell));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
4.设置单元格格式
//set font style red and bold
HSSFFont font = wb.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//create style
HSSFCellStyle cellStyle1 = wb.createCellStyle();
cellStyle1.setFont(font);
//use this style
HSSFCell cell1 = row.createCell(1);
cell.setCellStyle(cellStyle1);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("Title");
分享到:
相关推荐
org.apache.poi JAR包,解决import org.apache.poi.hssf.usermodel.HSSFWorkbook; 支持office全系excel文件解析。 import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; ...
在Java开发环境中,`org.apache.poi*jar包`是Apache POI项目的组成部分,包含了处理这些文件所需的类和方法。当你在导入项目时遇到`org.apache.poi*`相关的报错问题,可能的原因和解决方法有以下几点: 1. **缺失...
这个"org.apache.poi"依赖包是Java开发者在处理这些文件时不可或缺的工具。它提供了丰富的API,使得在Java环境中读取、写入和操作Office文档变得轻而易举。 Apache POI 3.17 版本是该项目的一个稳定版本,包含了...
使用Apache POI库时,你需要导入`org.apache.poi.*`包下的相关类,例如: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; ``` 在3.9版本中,虽然不包含最新...
Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)。在Java环境中,它提供了一个强大的API,使得开发者能够读取、写入和操作这些文档。在给定的...
这个“org.apache.poi 3.17最新官方版文件操作jar包”包含了处理这些文件类型所需的Java库。下面将详细介绍Apache POI 3.17版本中的核心知识点。 1. **文件格式支持**: - Excel处理:Apache POI提供了HSSF(旧版...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)。在Java环境中,它提供了一组API,使得开发者能够读取、写入以及操作这些文件。"org....
在实际应用中,"org.apache.poi.xwpf.converter-0.9.8.jar"通常会与其他Apache POI库一起使用,如"HSSF"(处理旧版Excel .xls文件)和"XSSF"(处理新式Excel .xlsx文件)。开发者需要在他们的Java项目中引入这个JAR...
总的来说,"org.apache.poi-ooxml-schemas-3.9.jar"是Java开发中不可或缺的一个工具,对于需要处理Excel文件的项目来说,它是提高生产力的关键组件。通过熟练掌握其用法,开发者可以轻松地在Java应用程序中实现各种...
在这个标题为“org.apache.poi.hssf.converter,office转html所需包”的压缩包中,包含了将Office文档转换为HTML格式所需的Java类库。转换过程通常涉及到以下几个关键知识点: 1. **HSSF API**:这是Apache POI提供...
java用org_apache_poi包操作excel
Apache POI是一个流行的开源Java库,它允许程序员创建、修改和显示Microsoft Office格式的文件,如Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)。在这个特定的场景中,"org.apache.poi.xwpf.converter.core-...
android 使用poi读取高版本excel, 解决以下这两个错误 java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLEventFactory; at org.apache.poi.openxml4j.opc.internal.marshallers....
Apache POI 是一个著名的开源Java库,主要用于处理Microsoft Office格式的文件,如Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)。XWPF是Apache POI项目的一部分,专门用于处理Word文档的XML格式。`org....
版本:4.1.0 jar包个数:7个 apache的poi,操作Excel的包,亲测 jdk11 maven项目环境下包含本地jar使用有效,并给出了简单易用的封装。 传送门:我的博文:基于poi4.1.0的Excel表读写操作 日期:2020.12.15日
Apache POI 提供了Java API,使得开发者可以使用Java来读取、写入和修改这些文件。在给定的"apache-poi-3.17(最新稳定版本)"中,我们聚焦于3.17这个稳定版,它是截止到提及时的最新版本。 Apache POI 3.17版本是...
使用Apache POI,开发者可以创建、读取和修改Excel工作簿、工作表、单元格、公式,甚至可以处理图表、图片和样式。此外,它也支持Word和PowerPoint文件的操作。Apache POI源码的提供使得开发者能够深入理解其内部...
Apache POI 是一个开源项目,由 Apache 软件基金会维护,主要用于处理 Microsoft Office 格式的文件,如 Word(.doc/.docx)、Excel(.xls/.xlsx)、PowerPoint(.ppt/.pptx)等。这个框架使得 Java 开发者能够方便...
Apache POI库是一个开源的Java库,可以帮助开发人员处理Microsoft Office格式的文档,例如Word文档、Excel电子表格和PowerPoint演示文稿等。以下是Apache POI库的详细介绍: 支持多种Office格式:Apache POI库支持...
这个"org.apache.poi Jar包"是Apache POI项目的Java库,用于在Java应用程序中读写这些文件格式。它提供了API,使得开发者可以轻松地创建、修改和操作Microsoft Office文档。 1. **Apache POI的基本概念**: - POI ...