问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-05-03 05:31

我来回答

2个回答

热心网友 时间:2022-04-11 07:46

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;

 }

  

}

热心网友 时间:2022-04-11 09:04

直接用Navicat for MySQL自带的导入功能不行吗追问java实现,谢谢!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考560分能上211大学吗? - 知乎 河北高考多少分能上211大学 河北2023高考211分数线是多少? 考560分能上211大学吗河北 刀剑英雄合王者武器多少费用 刀剑英雄帝辰王者现在什么价位 2021年度工程施工合同范本 2021承包转让简单的合同范本 2021医院食堂承包合同范本 div+css+js实现菜单的收缩与展开 调用数据库内容的时候为什么内容字段... 注册一个新的怎么注册 农村医疗保险农村医保缴费一般什么时间?过时补缴可以吗 怎样申请新? win10系统笔记本,睡眠(不是休眠)选项消失、不能改变亮度 新手机如何注册新码步骤 poi读取excel2007(大数据),然后保存到数据库中 怎样才能注册一个新的- 问一问 同方股份公司为什么停盘? 角钢160x16厚国家标准负差是多少? 怎样注册新 角钢的正负差是多少 同方股份怎么不开盘了 RTK测量1:500地形图需要测量测区中一米左右的土堆吗? 如何用RTK电台模式进行1:500的地形图测绘,求大神 电脑睡眠唤醒后,原来设置好的窗口颜色又变回白色了。(windows10) 三星手机安卓系统在哪下载应用程序最安全 三星手机怎样重新安装apk 安卓系统可以随便安装么,比如三星Android4.04系统安装其他品牌的可以么? 如何选择适合自己的CAD软件? 三星手机可以安装安卓系统吗 社保局农村医保在十月会扣几次? 我想重新注册一个新的,该怎么办? 安徽歙县农村医疗保险缴费扣款时间 16×16角铁多重 你好! 请教你个问题 java web程序如何将读取的excel表格里的数据插入到数据库,并显示在JSP页面上? 塔吊的知识 POI读取EXCEL导入数据库后,此EXCEL无法删除文件 怎么注册新 怎么注册新的 怎么重新注册 刘亦菲二次元粉发火了,她为何会被称为神仙姐姐? 刘亦菲二次元粉发造型出炉,如何评价这个造型? 刘亦菲二次元粉发登上热搜,漫改第一女主你选谁? 刘亦菲拍摄二次元粉发造型,她拍杂志的表现力如何? 如何注册一个全新的 刘亦菲二次元粉发,这样的感觉是不是你喜欢的? 刘亦菲首次尝试粉色二次元形象,你爱了吗? 对于刘亦菲二次元粉发,对于刘亦菲的印象你停留在哪个阶段? 刘亦菲凭借花木兰提名土星奖最佳女主角,《花木兰》在国外有怎样的影响力? 刘亦菲紫色鱼骨辫造型引起热议,你还喜欢她哪些风格的造型?