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);
   }

最后连接数据库。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java jdbc批量多线程读取CVS文件入库

    需求是这样的:现在需要测试一个内存数据库的入库性能,要求测试每线程准备一个文件,10个线程入库总计100w记录数的单表入库性能. 知识点:jdbc + 多线程 + 批处理 + 文件读取 先来看看我的代码结构 说明: files: 存放即将要读取的文件. lib: 存放第三方的jar文件,例如数据库驱动包. MemSqlTestMain: 这是工程的入口,就是主程序. DBUtil: 这个类是数据库帮助类,主要读取数据库配置信息获取连接关闭连接等操作. InsertUtil: 主要做的是读取数据文

  • Java读取properties文件连接数据库的方法示例

    之前我们在入门jdbc的时候,常用这种方法连接数据库: package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionManager { public static Connection getConnection() { Connection conn = null; try { Class.forName

  • Java数据导入功能之读取Excel文件实例

    在编程中经常需要使用到表格(报表)的处理主要以Excel表格为主.下面给出用java读取excel表格方法: 1.添加jar文件 java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件.下载地址:http://www.andykhan.com/jexcelapi/ 2.jxl对Excel表格的认识 (1)每个单元格的位置认为是由一个二维坐标(i,j)给定,其中i表示列,j表示

  • 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()) { S

  • Java实现上传Excel文件并导入数据库

    目录 Java实现上传Excel文件并导出到数据库 1.导入依赖 2.domain 3.utils 4.Controller 5.xml Java实现上传Excel文件并导出到数据库 1.导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </de

  • Java+EasyExcel实现文件的导入导出

    目录 引言 效果图 项目结构 核心源码 核心实体类 核心监听器类 EasyExcel导入文件 EasyExcel导出文件 引言 项目中需要Excel文件的导入与导出Excel并下载,例如,导入员工信息,导出员工信息,手动输入比较繁琐,所以本篇博文教大家如何在Java中导入Excel文件与导出Excel文件 技术栈 Excel工具:EasyExcel 选用框架:Spring.Spring MVC.MyBatis(SSM) 项目构建管理工具:Maven 需求: 1.要求利用excel工具实现员工信息

  • java读取html文件,并获取body中所有的标签及内容的案例

    这里的获取的是html文件中body中的所有标签以及内容 package com.lmt.service.file; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Reader; import org.springframework.stereotype.Component; i

  • Java读取json数据并存入数据库的操作代码

    Java读取json数据并存入数据库 1. pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> 2.students.json文件 { "students": [ { "stuId&quo

  • Java读取Properties文件的七种方法的总结

    Java读取Properties文件的方法总结 读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法: 其实很多都是大同小异,概括起来就2种: 先构造出一个InputStream来,然后调用Properties#load() 利用ResourceBundle,这个主要在做国际化的时候用的比较多. 例如:它能根据系统语言环境自动读取下面三个properties文件中的一个: resource_en_US.properties resource_zh_CN.prop

  • Java读取txt文件和写入txt文件的简单实例

    写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream;

  • java读取properties文件的方法实例分析

    本文实例讲述了java读取properties文件的方法.分享给大家供大家参考.具体分析如下: 1.不在项目中读取: Properties properties = new Properties(); BufferedReader read = new BufferedReader(new InputStreamReader(new FileInputStream("文件的路径"),"utf-8")); properties.load(read); properti

  • java读取properties文件的方法

    本文实例讲述了java读取properties文件的方法.分享给大家供大家参考.具体实现方法如下: package com.test.demo; import java.util.Properties; import java.io.InputStream; import java.io.IOException; /** * 读取Properties文件的例子 * File: TestProperties.java */ public final class TestProperties { p

  • 完美解决java读取大文件内存溢出的问题

    1. 传统方式:在内存中读取文件内容 读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 实际上是使用BufferedReader或者其子类LineNumberReader来读取的. 传统方式的问题: 是文件的所有行都被存放在内存中,当文件足够大时很快就会

随机推荐