java读取cvs文件并导入数据库
作者:ZoeYen_ 发布时间:2023-11-25 01:23:13
标签:java,读取,cvs文件
本文实例为大家分享了java读取cvs文件并导入数据库的具体代码,供大家参考,具体内容如下
首先获取文件夹下面的所有类型相同的excel,可以用模糊匹配contains(“匹配字段”)
public static List getDictory(String path) {
File f = new File(path);
List<String> dictories = new ArrayList<String>();
if (!f.exists()) {
System.out.println(path + "路径不存在");
} else {
File fa[] = f.listFiles();
for (int i = 0; i < fa.length; i++) {
File fs = fa[i];
if (!fs.isDirectory() && fs.getName().contains("csv")) {
dictories.add(path + fs.getName());
}
}
System.out.println(dictories);
}
return dictories;
}
操作jxl类型的excel表格需要导入一个jxl的jar包
private static void getExecl(Statement statement) {
jxl.Workbook readwb = null;
try {
// 构建Workbook对象, 只读Workbook对象
// 直接从本地文件创建Workbook,根据实际情况更改文件路径
InputStream instream = new FileInputStream("文件路径");
readwb = Workbook.getWorkbook(instream);
// Sheet的下标是从0开始
// 获取第一张Sheet表
Sheet readsheet = readwb.getSheet(0);
// 获取Sheet表中所包含的总行数
int rsRows = readsheet.getRows();
// 循环获取excel的一行数据
for (int i = 2; i < rsRows; i++) {
// System.out.println("\n");
// 获取需要导入数据库的单元格(列)
int[] number = { 0, 4, 5, 7 };
Cell cell0 = readsheet.getCell(0, i);//第i行第一格
Cell cell4 = readsheet.getCell(4, i);//第i行第五格
Cell cell5 = readsheet.getCell(5, i);//第i行第六格
int id=cell0.getContents)();//获取第一格的数据
}readwb.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
但是有些从平台,后台之类的地方导出的excel是cvs类型。cvs是文本类型的文件,每一个单元格的数据使用“,”隔开。
public static void getExecl(Statement statement, String path) {
try {
BufferedReader reader = new BufferedReader(new FileReader(path));// 换成你的文件名
reader.readLine();// 第一行信息,为标题信息,不用,如果需要,注释掉
String line = null;
String everyLine = null;
List<String> list = new ArrayList<String>();
while ((line = reader.readLine()) != null) {
// 行数
everyLine = line;
list.add(everyLine);
}
// 读每一行数据
for (int i = 1; i < list.size(); i++) {
// CSV格式文件为逗号分隔符文件,这里根据逗号切分
int j = 0;
String item[] = list.get(i).split(",");
}
if (item[j] != null) {
String id = item[0];
String datetime=item[8];
}
}
}
关于时间格式,excel中的时间需要格式化一下,才能导入数据库中相应的字段,而cvs的不用。前提是数据库中的字段是datetime类型的。
String ReceiveTime = null;
if (cell11.getType() == CellType.DATE) {
DateCell dc = (DateCell) cell11;
Date date = dc.getDate();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ReceiveTime = sdf.format(date);
}
最后连接数据库。
来源:https://blog.csdn.net/ZoeYen_/article/details/84541389
0
投稿
猜你喜欢
- 打开首页,明显看到链接是https打头,https和http的通信协议差别,在于https安全性更高:http和https的差别很明显,二者
- 一、简介Android的消息机制主要是指Handler的运行机制,那么什么是Handler的运行机制那?通俗的来讲就是,使用Handler将
- 首先使用PImage来实例化对象,再通过loadImage赋值,两层for循环遍历图片上的像素点,每隔5个像素点,画一个直径为3的圆。颜色通
- 一、什么是命令模式命令模式是一个高内聚的模式,其定义为:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请 求排队或者记录
- 前言开篇一个例子,我看看都有谁会?如果不会的,或者不知道原理的,还是老老实实看完这篇文章吧。@Slf4j(topic = "c.V
- 前言在电商的应用中,最常见的就是在首页或完成某事件之后,弹出一堆的活动/广告。假如重叠弹出,很丑,给用户的体验也不好,所以一般都会依次依条件
- 本文实例为大家分享了Unity实现场景漫游相机的具体代码,供大家参考,具体内容如下前言拿到场景后总喜欢在场景里面玩一段时间,那这个脚本就是你
- 记录一下使用IDEA创建servlet并使用Tomcat本地部署的过程。需要安装好的软件首先IDEA社区版不支持Java EE,因此要使用U
- 下载和上传附件、发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时
- 对接支付宝支付接口,官方文档已经写的很清楚了,但是也有很多像我一样的小白,第一次对接支付宝支付接口,会有些迷茫,所以我在此写下这篇文章,给我
- 话不多说,请看代码:package com.lxj.demo;import java.io.BufferedReader;import ja
- 在导入studio工程的时候,进行sync的时候,提示Error:Configuration with name 'default&
- 我object != null要避免很多NullPointerException。有什么替代方法:if (someobject != nul
- 项目介绍基于Layui的后台管理系统模板,扩展Layui原生UI样式,整合第三方开源组件,提供便捷快速的开发方式,延续LayuiAdmin的
- 本文实例讲解了iOS从背景图中取色的代码,分享给大家供大家参考,具体内容如下实现代码:void *bitmapData; //内存空间的指针
- Java为什么不浪(long)学而时习之不亦说乎,继续温习Java。今天使用switch时,不小心写了如下代码,报错如下。 public s
- 很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,
- 全面解析java注解Java中的常见注解 a.JDK中的注解 @Override 覆盖父类或者父接口的方
- 不废话了,直接给大家贴代码了。class term { String str; int id; &
- LocalDateTime 是 Java 8 中日期时间 API 提供的一个类,在日期和时间的表示上提供了更加丰富和灵活的支持。LocalD