java中excel文件数据的导入
2011-07-21 12:35
369 查看
在网上找到的一些资料与自己例子的结合,记下来供自己参考。
首先是要有个jxl.jar包。在http://www.andykhan.com/jexcelapi/download.html里去下了最新版本,发现运行起来有问题,错误提示版本不符什么的。然后搜到说JDK1.6该用JExcelApi v2.6.9这个版本,确实如此。
还有一个问题就是貌似.xlsx文件没办法解析,只能是.xls的。
然后就是以下对excel文件导入的demo。要实现的是把用户信息从userInfo.xls里导入到一个UserInfo的List里,并在控制台输出。
UserInfo的类此处不给出了。
package test;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.ArrayList;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadFile {
public List<UserInfo> ReadInfo() throws BiffException, IOException {
List<UserInfo> userInfoList = new ArrayList<UserInfo>();
UserInfo userInfo;
String filePath = "F:\\userInfo.xls";
InputStream inputStream = new FileInputStream(filePath);
try {
Workbook workbook = Workbook.getWorkbook(inputStream);
Sheet sheet = workbook.getSheet(0);
String sheetName = sheet.getName();
// System.out.println("sheet name :" + sheetName);
if (sheetName != null) {
// 获取表格总列数
int columns = sheet.getColumns();
// System.out.println("sheet columns: " + columns);
// 获取表格总行数
int rows = sheet.getRows();
// System.out.println("sheet rows: " + rows);
// 访问每个单元
for (int i = 1; i < rows; ++i) {
Cell[] cells = sheet.getRow(i);
userInfo = new UserInfo();
userInfo.setUserId(cells[0].getContents());
userInfo.setUserName(cells[1].getContents());
userInfo.setEmail(cells[2].getContents());
userInfoList.add(userInfo);
}
}
workbook.close();
return userInfoList;
} catch (Exception e) {
e.printStackTrace();
return userInfoList;
}
}
public static void main(String[] args) {
List<UserInfo> userInfoList = new ArrayList<UserInfo>();
ReadFile readFile = new ReadFile();
try {
userInfoList = readFile.ReadInfo();
System.out.println("用户ID 用户名 Email");
for(int i=0; i<userInfoList.size(); ++i){
System.out.println(userInfoList.get(i).getUserId()+" "+
userInfoList.get(i).getUserName()+" "+
userInfoList.get(i).getEmail());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
首先是要有个jxl.jar包。在http://www.andykhan.com/jexcelapi/download.html里去下了最新版本,发现运行起来有问题,错误提示版本不符什么的。然后搜到说JDK1.6该用JExcelApi v2.6.9这个版本,确实如此。
还有一个问题就是貌似.xlsx文件没办法解析,只能是.xls的。
然后就是以下对excel文件导入的demo。要实现的是把用户信息从userInfo.xls里导入到一个UserInfo的List里,并在控制台输出。
UserInfo的类此处不给出了。
package test;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.ArrayList;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadFile {
public List<UserInfo> ReadInfo() throws BiffException, IOException {
List<UserInfo> userInfoList = new ArrayList<UserInfo>();
UserInfo userInfo;
String filePath = "F:\\userInfo.xls";
InputStream inputStream = new FileInputStream(filePath);
try {
Workbook workbook = Workbook.getWorkbook(inputStream);
Sheet sheet = workbook.getSheet(0);
String sheetName = sheet.getName();
// System.out.println("sheet name :" + sheetName);
if (sheetName != null) {
// 获取表格总列数
int columns = sheet.getColumns();
// System.out.println("sheet columns: " + columns);
// 获取表格总行数
int rows = sheet.getRows();
// System.out.println("sheet rows: " + rows);
// 访问每个单元
for (int i = 1; i < rows; ++i) {
Cell[] cells = sheet.getRow(i);
userInfo = new UserInfo();
userInfo.setUserId(cells[0].getContents());
userInfo.setUserName(cells[1].getContents());
userInfo.setEmail(cells[2].getContents());
userInfoList.add(userInfo);
}
}
workbook.close();
return userInfoList;
} catch (Exception e) {
e.printStackTrace();
return userInfoList;
}
}
public static void main(String[] args) {
List<UserInfo> userInfoList = new ArrayList<UserInfo>();
ReadFile readFile = new ReadFile();
try {
userInfoList = readFile.ReadInfo();
System.out.println("用户ID 用户名 Email");
for(int i=0; i<userInfoList.size(); ++i){
System.out.println(userInfoList.get(i).getUserId()+" "+
userInfoList.get(i).getUserName()+" "+
userInfoList.get(i).getEmail());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
相关文章推荐
- Java数据导入(读)Excel文件 解析
- JAVA WEB 实现文件数据导入(CSV、TXT、excel)
- JAVA WEB 实现文件数据导入(CSV、TXT、excel)
- Java数据导入(读)Excel文件 解析
- Java数据导入(读)Excel文件 解析
- Java数据导入功能之读取Excel文件实例
- 使用POI实现在java程序中导入导出Excel文件数据
- Java上传Excel文件导入数据
- java中如何导入03和07版的Excel文件数据,存入到数据库
- 通过java将txt文件中的调查问卷数据导入excel
- Java数据导入(读)Excel文件 解析
- Java数据导入(读)Excel文件
- 如何用Java将excel数据导入数据库
- Java的Excel文件导入时报错
- 使用poi导入excel文件数据到数据库
- Java中Excel导入数据
- Java中excel表数据的批量导入方法
- JAVA通过poi对Excel数据在(jsp+ssh)环境下导入导出
- Asp.net中关于excel文件批量导入SQL Server数据表
- Excel文件上传大批量数据导入