有时候我们需要从execel中导入大量的数据,编程过程中就遇到过这种情况,
eg:
excel格式如下,文件名:eg:e:\minn\minn.xls
NAME SEX SCHOOL
姓名 性别 学校
minn1 男 广工
minn2 男 广工
java方法:采用poi组件,方法整理如下:
public static void minnTest() throws Exception{
List<String> filelist=new ArrayList<String>();
filelist.add("e:\minn\minn.xls");
List<Map<String,String>> list=new ArrayList<Map<String,String>>();
Map<String, String> nk=new HashMap<String, String>();
for(String filename:filelist){
FileInputStream in = new FileInputStream(filename);
Map<String, String> minn= null;
POIFSFileSystem fs = new POIFSFileSystem(in);
Workbook wb = new HSSFWorkbook(fs);
Sheet sheet = wb.getSheetAt(0);
int rowN=sheet.getPhysicalNumberOfRows();
int celN=sheet.getRow(0).getPhysicalNumberOfCells();
for (int i=0;i<rowN;i++) {
if(i==1){
continue;
}
if(i>1){
minn= new HashMap<String, String>();
list.add(minn);
}
Row row=sheet.getRow(i);
for(int j=0;j<celN;j++){
Cell cell=row.getCell(j);
String str="";
if(i==0)
{
nk.put(j+"",str);
continue;
}
minn.put(nk.get(j+""), str.trim());
}
for(int i=0;i<list.size();i++){
Map<String,String> map=list.get(i); System.out.println("第"+(i+1)+"行");
System.out.println(map.toString());
System.out.println("结束");
}
结合本人在前面发布的:sql语句生成方法(http://fmfl.iteye.com/blog/648848),
可以生成sql语句,这样可以进行导入数据的操作了,^_^^_^。。。
eg:
excel格式如下,文件名:eg:e:\minn\minn.xls
NAME SEX SCHOOL
姓名 性别 学校
minn1 男 广工
minn2 男 广工
java方法:采用poi组件,方法整理如下:
public static void minnTest() throws Exception{
List<String> filelist=new ArrayList<String>();
filelist.add("e:\minn\minn.xls");
List<Map<String,String>> list=new ArrayList<Map<String,String>>();
Map<String, String> nk=new HashMap<String, String>();
for(String filename:filelist){
FileInputStream in = new FileInputStream(filename);
Map<String, String> minn= null;
POIFSFileSystem fs = new POIFSFileSystem(in);
Workbook wb = new HSSFWorkbook(fs);
Sheet sheet = wb.getSheetAt(0);
int rowN=sheet.getPhysicalNumberOfRows();
int celN=sheet.getRow(0).getPhysicalNumberOfCells();
for (int i=0;i<rowN;i++) {
if(i==1){
continue;
}
if(i>1){
minn= new HashMap<String, String>();
list.add(minn);
}
Row row=sheet.getRow(i);
for(int j=0;j<celN;j++){
Cell cell=row.getCell(j);
String str="";
if(i==0)
{
nk.put(j+"",str);
continue;
}
minn.put(nk.get(j+""), str.trim());
}
for(int i=0;i<list.size();i++){
Map<String,String> map=list.get(i); System.out.println("第"+(i+1)+"行");
System.out.println(map.toString());
System.out.println("结束");
}
结合本人在前面发布的:sql语句生成方法(http://fmfl.iteye.com/blog/648848),
可以生成sql语句,这样可以进行导入数据的操作了,^_^^_^。。。