转载http://blog.163.com/fengzhisha0914@126/blog/static/150314785201102625119277/
需要jar包:
1.poi-ooxml-3.6-20091214.jar
2.poi-3.6-20091214.jar
3.poi-contrib-3.6-20091214.jar
4.poi-examples-3.6-20091214.jar
5.poi-ooxml-schemas-3.6-20091214.jar
6.poi-scratchpad-3.6-20091214.jar
7.xmlbeans-2.3.0.jar
8.openxml4j-bin-beta.jar
9.geronimo-stax-api_1.0_spec-1.0.jar
package com.test;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
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.xssf.usermodel.XSSFWorkbook;
import com.njdt_oa.common.domain.VHrUser;
import com.njdt_oa.common.util.IExcelReader;
/**
* 用户从Excel批量导入
*
* @author PF
*/
public class UserImport {
private static final int version2003 = 2003;
private static final int version2007 = 2007;
private static int version = version2003;
private static Workbook wb = null;
private static Sheet sheet=null;
private static Cell cell = null;
private static Row row=null;
@SuppressWarnings("static-access")
public List<VHrUser> readExcel(String excelFilePath) throws IOException {
if (excelFilePath.endsWith(".xls"))
version = version2003;
else if (excelFilePath.endsWith(".xlsx"))
version = version2007;
List<VHrUser> list = new ArrayList<VHrUser>();
InputStream stream=null;
if (version == version2003) {
stream = new FileInputStream(excelFilePath);
wb = (Workbook) new HSSFWorkbook(stream);
} else if (version == version2007) {
wb = (Workbook) new XSSFWorkbook(excelFilePath);
}
sheet = wb.getSheetAt(0);
// 行数(从0开始,相当于最后一行的索引),列数
int count_row=sheet.getLastRowNum(),count_cell=sheet.getRow(0).getPhysicalNumberOfCells();
String[][] str=new String[count_row][count_cell];
for (int i = 0; i < count_row; i++) {
for (int j = 0; j < count_cell; j++) {
row=sheet.getRow(i+1);
cell=row.getCell(j);
String obj_content="";
if(cell.getCellType()==cell.CELL_TYPE_BLANK)
obj_content="";
else if(cell.getCellType()==cell.CELL_TYPE_NUMERIC)
obj_content=(int)cell.getNumericCellValue()+"";
else if(cell.getCellType()==cell.CELL_TYPE_STRING)
obj_content=cell.getStringCellValue();
str[i][j]=obj_content;
}
}
cell=null;
row=null;
sheet=null;
wb=null;
for (int k = 0; k < str.length; k++) {
String[] temp_str=str[k];
VHrUser vUser=new VHrUser();
for (int s = 0; s < temp_str.length; s++) {
vUser.setPaixu(new Long(temp_str[s]));
vUser.setOamail(temp_str[s+1]);
vUser.setUsername(temp_str[s+2]);
vUser.setPingying(temp_str[s+3]);
vUser.setUsersex(temp_str[s+4]);
list.add(vUser);
break;
}
}
return list;
}
public static void main(String[] args){
UserImport i=new UserImport();
try {
List<VHrUser>vuser_list = i.readExcel("D:\\Users\\Administrator\\Desktop\\Import_Test.xlsx");
for (VHrUser user : vuser_list) {
System.out.println("用户姓名=="+user.Username);
}
} catch (IOException e) {
e.printStackTrace();
}
System.exit(0);
}
}
注意jar包冲突,如果出现org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException。。。检查是否有xbean.xml,删除一般都可以解决。
分享到:
相关推荐
poi导入excel 兼容2003-2007兼容版本,测试可以成功;poi导入excel 兼容2003-2007兼容版本,测试可以成功;
在本文中,我们将重点讨论如何使用POI库来实现对Excel 2003和2007文件的兼容性操作。Excel 2003使用的是.BIFF(Binary Interchange File Format)格式,而Excel 2007及以上版本则引入了新的.OpenXML(.xlsx)格式,...
接下来,我们将讨论如何使用Apache POI操作Excel 2007(.xlsx)文件的主要步骤: 1. **创建Workbook对象**:这是Excel工作簿的Java表示。你可以使用`XSSFWorkbook`类来创建一个新的Excel工作簿。 ```java import...
它不仅支持旧版的Excel文件格式(.xls,用于Office 2003及更早版本),还支持新版本的Excel文件格式(.xlsx,自Office 2007起)。以下是对"java中poi读写excel封装工具类"这一主题的详细解释。 1. **Apache POI介绍...
标题提到的“POI导入excel大数据处理”是指利用Apache POI进行大量Excel数据的导入操作,同时它兼容Excel 2003(.xls格式)和2007以上版本(.xlsx格式)的文件。 POI库的主要优点包括: 1. **多格式支持**:不仅...
"poi3.9读写excel兼容03和07版本"这个标题指的是使用Apache POI 3.9版本的API,能够兼容两种不同格式的Excel文件:.xls(Excel 2003及更早版本)和.xlsx(Excel 2007及更高版本)。 在描述中提到的"完美修订版本...
在本文中,我们将深入探讨如何使用Apache POI库来兼容读取Excel2003(.xls)和Excel2007及以上版本(.xlsx)的文件。 首先,Apache POI提供了两个主要的API来处理Excel文件:HSSF(Horrible Spreadsheet Format)...
在这个"poi读取excel2007和2003兼容工具例子"中,我们将探讨如何使用POI来读取不同版本的Excel文件,特别是Excel 2003(.xls)和Excel 2007及更高版本(.xlsx)。 1. **Apache POI库**:Apache POI是Apache软件基金...
本主题将深入探讨如何在Android 8.0环境下使用Apache POI库解析Excel(xls/xlsx)文件,同时结合mk和gradle两种构建方式来实现这一功能。 Apache POI是一个强大的库,主要用于读取和写入Microsoft Office格式的文件,...
在Java世界中,当需要处理Excel数据时,POI库是一个常用的选择,尤其在需要跨版本兼容性时,如在Excel 2003、2007和2010之间。以下将详细讲解如何使用Java POI来完美解决这些版本之间的兼容问题。 首先,Excel 2003...
Java POI项目由Apache软件基金会维护,支持读取和写入Microsoft Office的多种文件格式,如XLS(Excel 97-2003)、XLSX(Excel 2007以上版本)以及Word、PowerPoint等。对于Excel,POI提供了一个高级用户模型(HSSF)...
在“poi读取excel文件实例”中,我们将讨论如何使用Apache POI API来读取和操作Excel 2007文件。以下是一些关键知识点: 1. **创建工作簿对象**:首先,你需要通过`WorkbookFactory`类的`create()`方法打开或创建一...
这篇博客“通过POI统一读取Excel文件(兼容97-2003和2007+两种格式)”正是介绍了如何使用Apache POI库来处理不同版本的Excel文件。 Apache POI 提供了两个主要的API来处理Excel文件:HSSF(Horrible Spreadsheet ...
在本文中,我们将深入探讨如何使用POI进行Excel的读写操作,并进行总结。 1. POI基本概念 Apache POI 提供了HSSF(Horrible Spreadsheet Format)用于读写旧版的.xls格式的Excel文件,而XSSF则用于处理.xlsx格式的...
本篇文章将深入探讨如何使用Apache POI来兼容并处理Excel 2003 (.xls)和Excel 2007 (.xlsx)这两种文件格式。 #### 知识点详解 **1. Apache POI的版本选择** - **Jar包列表**: - `dom4j-1.6.1.jar`: 提供DOM解析...
### 导出Excel兼容2003和2007的知识点 在处理Excel文件时,经常需要确保创建的文件可以被不同版本的Excel软件所兼容。特别是在Java开发环境中,利用Apache POI库来实现这一功能非常常见。下面将详细介绍如何使用...
然而,需要注意的是,Apache POI在处理Excel转换时可能存在浏览器兼容性问题,特别是在火狐浏览器中可能出现乱码。这可能与字符编码或者特定样式处理有关。解决此类问题通常需要对输出的HTML进行额外的调整,例如...
10. **版本兼容性**:不同的Apache POI版本可能对不同版本的Excel文件有不同的支持,因此,选择与目标文件格式相匹配的POI版本很重要。 总之,Apache POI是一个强大的工具,它使得Java开发者能够方便地与Excel文件...
java使用poi操作excel需要的所有jar包(poi3.8版本),里面有poi-3.8-20120326.jar、poi-ooxml-3.8-20120326.jar、poi-ooxml-schemas-3.8-20120326.jar、dom4j-1.6.1.jar、xmlbeans-2.3.0.jar
POI导入导出工具类支持office2003和2007的excel表格导入