java poi实现excel中的数据导入到mysql数据库中,例如excel中有id,name,age。将其导入到数据库中。

要详细代码,最好能够运行的,不要代码片段。纯java,不要jsp的。谢谢!

package bis.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import jxl.Sheet;
import jxl.Workbook;
public class Excel {
 
 @SuppressWarnings("unchecked")
 public List addCust(File file){
  List list=new ArrayList();
  List list2=new ArrayList();
  Workbook rwb=null;
  try {
   List list1=new ArrayList();
   
   InputStream is=new FileInputStream(file);//读取文件(所要导入excel的保存目录,如:f:\\a.xls)
   rwb=Workbook.getWorkbook(is);//创建工作薄
   Sheet rs=rwb.getSheet(0);//读取excel中的第一个工作表(默认新建excel下面有sheet1,sheet2,sheet3)
   int cellCount=rs.getColumns();//获取Sheet表中所包含的总列数
   int rowCount=rs.getRows();//获取Sheet表中所包含的总行数
   for(int m=0;m<cellCount;m++){//将表的第一行数据保存到list1中(列名),即id,name ,age
    String cell=rs.getCell(m,0).getContents();
    list1.add(cell);
   }
   for(int i=1;i<rowCount;i++){//获取值
    Map map=new TreeMap();
    for(int j=0;j<cellCount;j++){    
     map.put(list1.get(j),rs.getCell(j,i).getContents());//将值以键/值对方式保存到map对象中即(id:1,name:zhangsan,age:18)
    } 
    list.add(map);//将值保存到list中
    //System.out.println(list.get(i-1));
   }
   
   list2.add(list1);//将表头(id,name,age)保存到list2中
   list2.add(list);//将值保存到list2中
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   rwb.close();
  }
  return list2; 
 }
 public void tosql(){
  List list=addCust(file);//file:所要导入excel的保存目录,如:f:\\a.xls
  Map map=new HashMap();
  String[] values=new String[ls2.size()];//保存id,name,age 值
  for (int i =0; i < ls2.size(); i++) { 
   map=(Map)ls2.get(i);
   String value="";
    id=(String)map.get("id");
   name=(String)map.get("name");
   age=(String)map.get("age");
   value=id+";"+name+";"+age;
   values[i]=value;
 }
 }
}
这是段读取excel表数据的代码,在tosql方法中调用addCust方法读取excel表,最后把所有行的id,name,age值保存到了values数组中,也可以保存到类中,如果你会对数据库操作的话,
后面的你自己弄下就行了,不会的话留言,我晚上在告诉你,我现在上班呢,时间有限,只能写这么多了

追问

谢谢!写完整吧。不会。

追答package util;

public class User {

 private String id;

 private String name;

 private String age;

 public String getId() {

  return id;

 }

 public void setId(String id) {

  this.id = id;

 }

 public String getName() {

  return name;

 }

 public void setName(String name) {

  this.name = name;

 }

 public String getAge() {

  return age;

 }

 public void setAge(String age) {

  this.age = age;

 }

  

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-05
直接用Navicat for MySQL自带的导入功能不行吗追问

java实现,谢谢!

怎么用java程序把excel导入到mysql数据库
1、创建workbook对象 2、读取sheet 3、读取行,循环行读取列值 4、将列值拼装成insert语句 5、执行sql 其中要注意的几个问题是:列值合法验证,sql语句过长问题(mysql支持的一条sql不能超过1M好像,这个可以配置的)。列值验证好说,sql语句过长可以循环固定行数分批次执行。整个东西不难,你可以在...

java通过poi把excel文件导入mysql数据库报错
2、SaveData2DB.java \/ 插入数据到db \/ import java.io.IOException;

用poi怎样把excel文件里面的数据导入数据库三张关联的表中
加入依赖的jar文件:引用:mysql的jar文件 Spring_HOME\/lib\/poi\/*.jar

eclipse怎么导入Excel里边的数据eclipse如何导入数据
在eclipse中导入Excel数据可以使用Apache POI库。首先需要将POI库导入到项目中。然后在代码中使用POI库的API,打开Excel文件,读取数据并进行处理。可以使用HSSFWorkbook类来打开Excel文件,使用HSSFSheet类来获取工作表,使用HSSFRow类和HSSFCell类来获取行和单元格数据。最后,将数据存储到Java对象中,以便在...

我在用POI上传Excel表格至Mysql数据库,遇到一个小问题
最简单的办法,在循环外加一个参数int count=0;在循环开始的时候判断,count==0则跳过,否则之行循环体并对count自加,这样不就把第一行跳过了还不影响后续的循环

用POI将Mysql数据导入到Excel中去
首先 到上去下载POI 登录到该网址以后 选择红 *** 域的poi bin final zip来下载 下载以后解压 解压目录为 在Eclipse中设置对poi bin final jar的库引用 在Eclipse中新建一个名字叫POIExcel的Java工程 右键POIExcel项目的项目名 选择Build Path 再选择Add External Archives 然后找到poi bin final jar...

java多线程进行大批量excel数据导入实现方案?
方法一:使用JExcel API。此方法直接操作Excel文件,适合数据量不大且对性能要求不高的场景。在多线程导入时,可将数据分类分块,每个线程处理一块数据,提升导入效率。方法二:将Excel数据转换为CSV格式,再导入到目标平台。这种方法相对方法一在性能上有所提升,同时减少了对Java库的依赖。同样在多线程...

java能从word中提取数据导入到数据库吗
可以的,POI就能实现。导入导出都可以。不懂可以追问。

万能大批量Excel数据导入方法(csv,txt,xls,xlsx)
首先,明确数据导入的基本步骤。无论是CSV、TXT、XLS还是XLSX格式的数据,通常需要经过以下几个步骤:数据清洗、格式转换、导入目标系统。数据清洗确保数据质量,格式转换则解决不同格式之间的兼容性问题,而导入目标系统则是实现数据在不同系统之间的迁移。为了实现万能的数据导入,我们推荐使用开源工具如Apache...

JAVA导出excel
首先查出一个list 集合,接着用 apache poi这个插件写excel 文件,只要搜索 Apache POI的用法举例 很多例子 ,也不难。写excel就是比较繁琐 如 public void writeData(String file) { \/\/创建工作薄 HSSFWorkbook wb = getWorkBook(file);if(wb==null){ return;} \/\/获取工作表 HSSFSheet sheet =...

相似回答