Poi读取excel文件
package com.tp.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class TestRdExcel {
/**
* 读取 office 2003 excel
*
* @throws IOException
* @throws FileNotFoundException
*/
private static List<List<Object>> read2003Excel(File file)
throws IOException {
List<List<Object>> list = new LinkedList<List<Object>>();
HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(file));
HSSFSheet sheet = hwb.getSheetAt(0);//只是读取第一页
Object value = null;
HSSFRow row = null;
HSSFCell cell = null;
//循环行
for (int i = sheet.getFirstRowNum(); i <= sheet
.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
if (row == null) {//判断是否为空
continue;
}
List<Object> linked = new LinkedList<Object>();
//循环列
for (int j = row.getFirstCellNum(); j <= row.getLastCellNum(); j++) {
cell = row.getCell(j);//获得单元格
if (cell == null) {
continue;
}
value=cell.toString();//单元格内容 由于是模板所以这里不用考虑类型
if (value == null || "".equals(value)) {
continue;
}
linked.add(value);
}
list.add(linked);
}
return list;
}
/**
* 读取Office 2007 excel
*/
private static List<List<Object>> read2007Excel(File file)
throws IOException {
List<List<Object>> list = new LinkedList<List<Object>>();
// 构造 XSSFWorkbook 对象,strPath 传入文件路径
XSSFWorkbook xwb = new XSSFWorkbook(new FileInputStream(file));
// 读取第一章表格内容
XSSFSheet sheet = xwb.getSheetAt(0);
Object value = null;
XSSFRow row = null;
XSSFCell cell = null;
for (int i = sheet.getFirstRowNum(); i <= sheet
.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
if (row == null) {
continue;
}
List<Object> linked = new LinkedList<Object>();
for (int j = row.getFirstCellNum(); j <= row.getLastCellNum(); j++) {
cell = row.getCell(j);
if (cell == null) {
continue;
}
value = cell.toString();
if (value == null || "".equals(value)) {
continue;
}
linked.add(value);
}
list.add(linked);
}
return list;
}
/**
* 对外提供读取excel 的方法
*/
public static List<List<Object>> readExcel(File file) throws IOException {
String fileName = file.getName();
String extension = fileName.lastIndexOf(".") == -1 ? "" : fileName
.substring(fileName.lastIndexOf(".") + 1);
//判断文件类型
if ("xls".equals(extension)) {
return read2003Excel(file);
} else if ("xlsx".equals(extension)) {
return read2007Excel(file);
} else {
throw new IOException("不支持的文件类型");
}
}
/**
* 测试类
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
List<List<Object>> list = readExcel(new File("D:/test.xls"));
for(List<Object> l : list){
for(Object o: l){
System.out.println("结果为: "+o);
}
}
}
}
Poi写入excel文件
package com.tp.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class TestWtExcel {
/**
* 写入07excel
* @param filePath
*/
public static void write2007Excel(String filePath,List<String> list) {
try {
//创建excel文件对象
XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(filePath));
//创建一个张表
XSSFSheet sheet = wb.getSheetAt(0);
//创建行对象
XSSFRow row = null;
//创建表格对象
XSSFCell cell = null;
//循环行
for (int i = sheet.getFirstRowNum(); i <= sheet
.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
if (row == null) {//判断是否为空
continue;
}
//循环列
for (int j=0; j<list.size(); j++) {
cell = row.createCell(j);//创建单元格
String m = list.get(j);
cell.setCellValue(m);//赋值
}
}
FileOutputStream out = new FileOutputStream(filePath);
wb.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 寫入03excel
* @param filePath
*/
public static void write2003Excel(String filePath,List<String> list) {
try {
//创建excel文件对象
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(filePath));
//创建一个张表
HSSFSheet sheet = wb.getSheetAt(0);
//创建行对象
HSSFRow row = null;
//创建表格对象
HSSFCell cell = null;
//循环行
for (int i = sheet.getFirstRowNum(); i <= sheet
.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
if (row == null) {//判断是否为空
continue;
}
//循环列
for (int j=0; j<list.size(); j++) {
cell = row.createCell(j);//创建单元格
String m = list.get(j);
cell.setCellValue(m);//赋值
}
}
FileOutputStream out = new FileOutputStream(filePath);
wb.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 对外提供读取excel 的方法
*/
public static void writeExcel(File file,List<String> mList) throws IOException {
String fileName = file.getName();
String extension = fileName.lastIndexOf(".") == -1 ? "" : fileName
.substring(fileName.lastIndexOf(".") + 1);
//判断文件类型
if ("xls".equals(extension)) {
write2003Excel(file.getPath(),mList);
} else if ("xlsx".equals(extension)) {
write2007Excel(file.getPath(),mList);
} else {
throw new IOException("不支持的文件类型");
}
}
public static void main(String[] args) throws IOException{
List<String> mList = new LinkedList<String>();
mList.add("aa");
mList.add("bb");
mList.add("cc");
mList.add("dd");
mList.add("ee");
writeExcel(new File("D:/test.xls"),mList);
}
}
相关推荐
java读取excel 表格数据。 public static void main(String[] args) { String[][] content=POIExcelUtils.read("E:\\1.xlsx"); for(int i=0;i;i++) { if(content[i]!=null){ for(int j=0;j[i].length;j...
Java 操作Excel poi读写excel,所需要的jar包 https://blog.csdn.net/u014646662/article/details/83217382
通过poi读取excel表格信息,可以实现对97,2003,2007,2010等excel表格的读取
java poi读取excel表格数据一整套jar包 包括(dom4j和xmlbeans包)
利用POI读取excel写入到word 利用POI读取excel写入到word 利用POI读取excel写入到word,压缩包里包含了jar包
1.java使用poi生成excel插入图表曲线 2.demo包含完成jar包 3.主要用途是过滤数据自动生成曲线图
Java用poi读取excel文件.pdf
Java通过POI读取Excel遍历数据,根本word模板批量生成word文档,demo可运行,可根据需求修改
JAVA IO操作 POI读取excel的内容
这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL查看数据库 在MYSQL中运行项目db目录下的sql文件,创建...
ExcelImport.zip java-poi-excel 导入导出excel表格 由java读取流进行操作
这个是使用java语言 poi导入excel到数据库中,同时使用了xml对excel的每个单元格数据进行了非空验证。经测试,导入数据库成功。
使用poi读取写入复杂excel内容包括样式,工具类
apache POI,文件读写 ,excel 对于使用apache poi 解析微软excel的一些文件
主要介绍了Java POI读取excel中数值精度损失问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java读取Word中的表格(Excel),并导出文件为Excel
用于批量读取excel表格。工作写时非常好用。2003-2010都支持。
JAVA通过poi对Excel进行表格的读取,含有jar包,代码可以直接用。
实现了POI读取Excel文件中的数据,并且能导出Excel文件。
最新版poi 相关6个jar包 for java。Java读取Excel表格数据时(.xls、.xlsx 格式),需要引用的jar包 亲测as上可以读取到2010excel内容,内附读取源码