java将excel文件中的数据导入到mySql数据库中 完整代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java将excel文件中的数据导入到mySql数据库中 完整代码相关的知识,希望对你有一定的参考价值。

//根据excel文件,生成输入流
FileInputStream fis = new FileInputStream(new File("D:\\aa.xlsx"));
//用输入流生成poi 对象,以读取excel内容
//excel2007以上用XSSFWorkbook,2003用HSSFWorkbook
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);//取第一个sheet
String str1 = sheet.getRow(0).getCell(0).getStringCellValue();//取第一行第一列字符值
//getDateCellValue();日期类型 getNumericCellValue()数字类型;getHyperlink()超链接 等等()
//接下来 选择性插入数据库吧,明白?追问

不明白
TestEntity entity = new TestEntity(); entity.setNum1(val[0]); entity.setNum2(val[1]); TestMethod method = new TestMethod(); 这个是啥啥意思 找不到 这是网上的 method.Add(entity);

参考技术A String rpaht="C:\\Users\\temp\\Desktop\\合格.xls";
int addUnit_new=-1;
String[] excleAddToDB = new XLStoDB().ExcleAddToDB(rpaht);
System.out.println("长度:"+excleAddToDB.length);
for (int j = 0; j < excleAddToDB.length; j++)
String[] split = excleAddToDB[j].split(";");
int Category_id=-1;
int IndustryName_id=-1;
Unit unit=new Unit() ;//定义个对象
for (int i = 0; i < split.length; i++)
if(i==0)//公司名称
unit.setName(split[i]) ;
else if(i==1)//政区ID
unit.setDistrict_id(Integer.parseInt(split[i]));
else if(i==2)//街道id
unit.setStreet_id(Integer.parseInt(split[i]));
else if(i==3)//门牌号
unit.setHouseNumber(Integer.parseInt(split[i]));
else if(i==4)//法人
unit.setLegalPerson(split[i]) ;
else if(i==5)//电话
unit.setPhone(split[i]) ;
else if(i==6)//行业id
String[] splitciid=split[i].split(",");
Category_id=Integer.parseInt(splitciid[0]);
IndustryName_id=Integer.parseInt(splitciid[1]);
System.out.println(excleAddToDB[i]);
else if(i==7)//邮编
unit.setPostcode(Integer.parseInt(split[i])) ;
else if(i==8)//注册时间
java.util.Date registerTime =null;
try
registerTime=new SimpleDateFormat("yyyy-MM-dd").parse(split[i]);
catch(Exception e)
e.printStackTrace();

unit.setRegisterTime(registerTime) ;
else if(i==9)//备注
unit.setRemark(split[i]);
else if(i==10)//经纬度
String[] splitlnglat = split[i].split(",");
unit.setLat(splitlnglat[1]);
unit.setLng(splitlnglat[0]);


InsertDateDAO dd=new InsertDateDAO();
addUnit_new = dd.addUnit_new(unit,IndustryName_id,Category_id);

参考技术B 提供思路,excel文件用HSSFWork 操作,每一行对应数据库表一条记录,多行插入即可追问

我要具体代码

追答

如何将csv导入mysql和mysql导出csv

由于工作需要,经常需要将mysql数据库中的数据导出到excel表格,或者需要将excel表格数据导入到mysql数据库,我的方法是先将它们都转换成一种中间数据格式csv(execl数据可以直接导出为csv格式,csv格式也可以直接用excel打开)。下面介绍一下操作步骤:
csv导入mysql
load data infile 'C:\\Users\\UserName\\Desktop\\test.csv'
into table `table`
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
mysql导入csv
select * from `table`
load data infile 'C:\\Users\\UserName\\Desktop\\test.csv'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
如果乱码,可用相关编辑器打开.csv文件,另存为utf-8的csv
参考技术A mysqlimport --ignore-lines=1 --fields-terminated-by=,
--columns='ID,Name,Phone,Address' --local -u root -p
Database /path/to/csvfile/TableName.csv

以上是关于java将excel文件中的数据导入到mySql数据库中 完整代码的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中使用 ODBC 将 Excel 文件导入 MySQL?

Java实现Excel导入数据库,数据库中的数据导入到Excel。。转载

将Excel数据导入mysql数据库的几种方法

如何用Java实现把excel表中的数据导入到mysql数据库已有的表中?

使用java将数据库中的数据导出到excel中

将 Excel 文件导入 myPhpAdmin MySQL 数据库