使用poi操作excel 代码
package com.tws.readexcel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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.usermodel.WorkbookFactory;
/**
* @author wb_wensheng.tangws
*
*/
public class ReaderExcel {
/**
* @param args
*/
public static void main(String[] args) {
Workbook workbook=null;
//WorkBook
try {
File excelFile=new File("D:\\test\\Book.xlsx");
FileInputStream fis =new FileInputStream(excelFile);
workbook=WorkbookFactory.create(fis); //这种方式不管是2003还是2007都是可以处理的
//2003 这种方式跟具体的文件进行关联了
/*HSSFWorkbook hssfwb=new HSSFWorkbook(fis);
int sheets=hssfwb.getNumberOfSheets();
for(int s=0;s<sheets;s++){
HSSFSheet sheet=hssfwb.getSheetAt(s);
int rows=sheet.getLastRowNum();
for(int r=0;r<rows;r++){
HSSFRow hssfrow=sheet.getRow(r);
for(int i=0;i<hssfrow.getPhysicalNumberOfCells(); i++){
Cell cell=hssfrow.getCell(i);
if(HSSFCell.CELL_TYPE_NUMERIC==cell.getCellType()){
System.out.println("number: " + cell.getNumericCellValue());
}else if(HSSFCell.CELL_TYPE_STRING==cell.getCellType()){
System.out.println("String : " + cell.getStringCellValue());
}
}
}
}*/
//2007这种方式只支持
/*XSSFWorkbook xssfwb=new XSSFWorkbook(fis);
int sheets=xssfwb.getNumberOfSheets();
for(int s=0;s<sheets;s++){
XSSFSheet xssfsheet=xssfwb.getSheetAt(s);
int rows= xssfsheet.getPhysicalNumberOfRows();
for(int r=1;r<rows;r++){
XSSFRow xssfRow=xssfsheet.getRow(r);
int cells=xssfRow.getPhysicalNumberOfCells();
for(int i=0;i<cells;i++){
XSSFCell cell=xssfRow.getCell(i);
if(XSSFCell.CELL_TYPE_NUMERIC==cell.getCellType()){
System.out.println("number: " + cell.getNumericCellValue());
}else if(XSSFCell.CELL_TYPE_STRING==cell.getCellType()){
System.out.println("String: " + cell.getStringCellValue());
}
}
}
}*/
ReaderExcel re=new ReaderExcel();
//re.readExcel(workbook);
re.writerExcel();
} catch (Exception e) {
System.out.println(e);
}
}
public void readExcel(Workbook workBook){
int sheets=workBook.getNumberOfSheets();
int totalRow=0;
for(int s=0;s<sheets;s++){
Sheet sheet=workBook.getSheetAt(s);
totalRow=sheet.getLastRowNum();
sheet.getPhysicalNumberOfRows();
for(int r=0;r<totalRow;r++){
Row row=sheet.getRow(r);
int cells=row.getPhysicalNumberOfCells(); //row.getLastCellNum();是一样的
for(int i=0;i<cells;i++){
Cell cell=row.getCell(i);
String str=getCellValue(cell);
System.out.println("str: " + str);
}
//row.get
}
}
}
public void writerExcel(){
//Workbook workBook=WorkbookFactory.
HSSFWorkbook hssfwb=new HSSFWorkbook();
Sheet sheet=hssfwb.createSheet("1");
//下面这些操作一遍在循环中
Cell cell=null;
Row row=sheet.createRow(0); //第1行
cell=row.createCell(0);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("第一列");
cell=row.createCell(1);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("第二列");
row=sheet.createRow(1); //第二行
cell=row.createCell(0);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("1");
cell=row.createCell(1);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("2");
try {
File f=new File("D:\\test\\abc.xls");
if(!f.exists()){
f.createNewFile();
}
OutputStream os=new FileOutputStream(f);
hssfwb.write(os);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public String getCellValue(Cell cell){
String cellValue="";
if(cell != null){
switch(cell.getCellType()){
case Cell.CELL_TYPE_STRING: //String类型的
cellValue=cell.getStringCellValue();
break;
case Cell.CELL_TYPE_NUMERIC:
cellValue=String.valueOf(cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_BLANK:
cellValue="";
break;
case Cell.CELL_TYPE_FORMULA: //公式
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cellValue=String.valueOf(cell.getNumericCellValue());
break;
default:
break;
}
}
return cellValue;
}
public Date getCellValueDate(Cell cell){
//判断是日期
Date date= null;
if(HSSFDateUtil.isCellDateFormatted(cell)){
date=cell.getDateCellValue();
}
return date;
}
}
- jar.rar (8 MB)
- 描述: poi3.7.jar
- 下载次数: 21
分享到:
相关推荐
Java 使用 Apache POI 读取 Excel 是一个常见的任务,在处理数据导入、导出或数据分析时非常有用。Apache POI 是一个流行的开源库,它允许 Java 开发者创建、修改和显示 Microsoft Office 格式的文件,其中包括 ...
以上就是使用Java和POI库读取Excel文件并处理合并单元格的基本操作,希望对你理解POI的使用有所帮助。在实际应用中,可能还需要处理更复杂的情况,例如错误处理、自定义格式转换等,但这个基础教程应该足以让你开始...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。
Java 使用 POI 读取 Excel 文件 Java 是一种广泛使用的编程语言,而 Excel 是一种常用的电子表格软件。有时候,我们需要在 Java 程序中读取 Excel 文件的内容,例如将 Excel 表格中的数据导入到数据库中或者进行...
总结来说,这个项目展示了如何利用Java的Apache POI库读取Excel数据,结合XML解析进行数据验证,最后将验证通过的数据导入到数据库。这个过程涉及到文件I/O、XML处理、数据验证、数据库操作等多个核心Java技术,对于...
java使用POI读取excel文件返回第一张sheet表
在Java中,它允许开发者创建、修改和读取Excel工作簿、工作表以及单元格的数据。POI库不仅支持基本的文本和数字操作,还支持更高级的功能,如公式计算、样式设置和图表创建。 2. **创建Excel图表** 要生成Excel图表...
在IT行业中,Apache POI是一个广泛使用的库,它允许开发者在Java环境中创建、修改和读取Microsoft Office格式的文件,尤其是Excel文档。本教程将详细讲解如何利用Apache POI库来实现“使用POI向Excel模板动态添加...
Java 使用 POI 读取 Excel 文件 Java 中使用 Apache POI 库可以轻松地读取 Excel 文件,下面将详细介绍如何使用 POI 读取 Excel 文件。 什么是 Apache POI? Apache POI 是一个开源的 Java 库,由 Apache 软件...
测试数据
以下是一个简单的Java程序示例,展示如何使用Apache POI读取Excel文件: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java....
本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...
以上就是使用Apache POI读取Excel数据并写入Word的基本流程。在实际应用中,你可能需要处理更复杂的情况,比如合并单元格、处理公式、格式转换等,这都需要对POI API有更深入的理解。同时,为了提高性能,可以考虑...
JAVA POI 读取 Excel JAVA POI 是 Apache 的一个子项目,提供了一...本文总结了 JAVA POI 读取 Excel 的知识点,包括 POI 简介、Excel 文件的组织形式、POI 的主要对象、使用 POI 读取 Excel 和使用 POI 写入 Excel。
这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL查看数据库 在MYSQL中运行项目db目录下的sql文件,创建...
本文将详细介绍如何使用POI库在Java中进行Excel的读写操作,以及一个在Eclipse环境中运行的实例。 首先,我们需要了解Apache POI的基本概念。POI是Apache软件基金会的一个开源项目,它提供了Java API来处理...
java读写Excel,POI.JAR,Word内容读取
使用poi读取写入复杂excel内容包括样式,工具类