「java以表格导入数据库」java将数据库中数据到表格中

博主:adminadmin 2023-01-26 19:18:13 354

本篇文章给大家谈谈java以表格导入数据库,以及java将数据库中数据到表格中对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用java实现将execl表格导入到数据库中

import java.io.*;

import java.text.SimpleDateFormat;

import java.util.*;

import java.sql.*;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import jxl.*;

public class SimUpdate {

private String fileName;

public ZfzSimUpdate(String fileName){

this.fileName = fileName;

}

static Map tNames;

static{

tNames = new HashMap();

}

/**

* 用于产生 数据库的 ID 值,组成 [年月日时分秒(100-999)] 总共 17 位数.

* 根据不同的表名,可保证同一秒内产生的 ID 号不重复

*/

private static String getDtime() {

String rid;

Date nd = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

rid = sdf.format(nd);

return rid;

}

public String getSeqNumber(String tableName) {

if(tableName == null || "".equals(tableName))

tableName = "GENERY";

Integer it;

// noinspection SynchronizeOnNonFinalField

synchronized(tNames){

it = (Integer)tNames.get(tableName);

if(it == null){

it = new Integer(100);

tNames.put(tableName, it);

}else{

if(it.intValue() 998)

it = new Integer(100);

else

it = new Integer(1 + it.intValue());

tNames.put(tableName, it);

}

}

return getDtime() + String.valueOf(it);

}

private void updateDb(){

try{

Connection conn = DbPool.connectDB();

if(conn != null){

Statement stmt = conn.createStatement();

jxl.Workbook rwb = null;

try{

//构建Workbook对象 只读Workbook对象

//直接从本地文件创建Workbook

//从输入流创建Workbook

InputStream is = new FileInputStream(fileName);

rwb = Workbook.getWorkbook(is);

//Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中

//Sheet的下标是从0开始的

//获取第一张Sheet表

Sheet rs = rwb.getSheet(0);

//获取Sheet表中所包含的总列数

int rsColumns = rs.getColumns();

//获取Sheet表中所包含的总行数

int rsRows = rs.getRows();

//获取指这下单元格的对象引用

String simNumber = "",termSeqId = "";

//指定SIM卡号及序列号

for(int i=0;irsRows;i++){

for(int j=0;jrsColumns;j++){

Cell cell = rs.getCell(j,i);

if(j==0){

simNumber = cell.getContents();

}

termSeqId = "633"+simNumber;

}

String sql = "查询SQL";

int isOk = stmt.executeUpdate(sql);

if(isOk == 0 !simNumber.equals("")){

String termId = getSeqNumber("termInf");

String insertSql = "自定义INSERT";

int isAdd = stmt.executeUpdate(insertSql);

if(isAdd 0){

System.out.println("成功插入第"+i+"条数据");

}

}

//System.out.println("SIM卡号:"+simNumber+",序列号:"+termSeqId);

}

//以下代码为写入新的EXCEL,这里不使用,所以注释

/*

//利用已经创建的Excel工作薄创建新的可写入的Excel工作薄

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("D://Book2.xls"),rwb);

//读取第一张工作表

jxl.write.WritableSheet ws = wwb.getSheet(0);

//获取第一个单元格对象

jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

//决断单元格的类型,做出相应的转化

if (wc.getType() == CellType.LABEL) {

Label l = (Label) wc;

l.setString("The value has been modified.");

}

//写入Excel对象

wwb.write();

wwb.close();

*/

}catch(Exception e){

e.printStackTrace();

}

finally{

//操作完成时,关闭对象,翻译占用的内存空间

rwb.close();

}

}

}catch(Exception e){

e.printStackTrace();

}

}

public static void main(String args[]){

DbPool dbPool = new DbPool("dbConn.cfg");//连接数据库

SimUpdate simUpdate = new SimUpdate("zfz_sim.xls");

simUpdate.updateDb();

}

}

java怎么将excel表格数据导入数据库

excel有行和列,可以对应数据库表的行和字段。先获取你excel中的数据,如果你的数据是和java中实体对应的话,循环获取每一行数据存放进实体对象中,然后进行数据库保存就好了。

读取excel数据可以使用poi。

如何用Java将excel数据导入数据库

package com.javen.excel;

import java.util.List;

import com.javen.db.DBhepler;

import com.javen.entity.StuEntity;

import com.javen.service.StuService;

/**

* @author Javen

* @Email zyw205@gmail.com

*

*/

public class TestExcelToDb {

public static void main(String[] args) {

//得到表格中所有的数据

ListStuEntity listExcel=StuService.getAllByExcel("d://book.xls");

/*//得到数据库表中所有的数据

ListStuEntity listDb=StuService.getAllByDb();*/

DBhepler db=new DBhepler();

for (StuEntity stuEntity : listExcel) {

int id=stuEntity.getId();

if (!StuService.isExist(id)) {

//不存在就添加

String sql="insert into stu (name,sex,num) values(?,?,?)";

String[] str=new String[]{stuEntity.getName(),stuEntity.getSex(),stuEntity.getNum()+""};

db.AddU(sql, str);

}else {

//存在就更新

String sql="update stu set name=?,sex=?,num=? where id=?";

String[] str=new String[]{stuEntity.getName(),stuEntity.getSex(),stuEntity.getNum()+"",id+""};

db.AddU(sql, str);

}

}

}

}

java 怎么从excel文件导入到oracle数据库中

java操作excel一般都使用poi来完成:

1、下载poi相关jar,maven的集成如下:(把${poi.version}替换成你要的版本)

                dependency

groupIdorg.apache.poi/groupId

artifactIdpoi/artifactId

version${poi.version}/version

scopeprovided/scope

/dependency

dependency

groupIdorg.apache.poi/groupId

artifactIdpoi-ooxml/artifactId

version${poi.version}/version

scopeprovided/scope

/dependency

dependency

groupIdorg.apache.poi/groupId

artifactIdpoi-ooxml-schemas/artifactId

version${poi.version}/version

scopeprovided/scope

/dependency

2、根据poi相关api读取sheet、row、cell,获得excel的数据:

封装row的对象,即每一行数据为一个对象,每个cell为对象里的一个属性,

整个sheet的数据装进集合里;

3、处理数据,可以对数据进行验证或其他操作;

4、写数据库操作。

如何用java导入excel数据到数据库

//从excle文档中,将值导入至list数组

//xlsPath 路径 从前台获取

//Excle导入

public ListTblUser loadScoreInfo(String xlsPath) throws IOException{

    List temp = new ArrayList();

FileInputStream fileIn = new FileInputStream(xlsPath);

//根据指定的文件输入流导入Excel从而产生Workbook对象

Workbook wb0 = new HSSFWorkbook(fileIn);

//获取Excel文档中的第一个表单

Sheet sht0 = wb0.getSheetAt(0);

//对Sheet中的每一行进行迭代

        for (Row r : sht0) {

        //如果当前行的行号(从0开始)未达到2(第三行)则从新循环

if(r.getRowNum()1){

continue;

}

//创建实体类

TblUser info=new TblUser();

//取出当前行第1个单元格数据,并封装在info实体stuName属性上

if(r.getCell(0)!=null){

 r.getCell(0).setCellType(Cell.CELL_TYPE_STRING);

     info.setId(Integer.parseInt(r.getCell(0).getStringCellValue()));

}

//同上

if(r.getCell(1)!=null){

     r.getCell(1).setCellType(Cell.CELL_TYPE_STRING);

     info.setUsername(r.getCell(1).getStringCellValue());

}

if(r.getCell(2)!=null){

     r.getCell(2).setCellType(Cell.CELL_TYPE_STRING);

     info.setPassword(r.getCell(2).getStringCellValue());

}

if(r.getCell(3)!=null){

     r.getCell(3).setCellType(Cell.CELL_TYPE_STRING);

     info.setState(r.getCell(3).getStringCellValue());

}

if(r.getCell(4)!=null){

     r.getCell(4).setCellType(Cell.CELL_TYPE_STRING);

     info.setRename(r.getCell(4).getStringCellValue());

}

if(r.getCell(5)!=null){

     r.getCell(5).setCellType(Cell.CELL_TYPE_STRING);

     info.setEmail(r.getCell(5).getStringCellValue());

}

 temp.add(info);

        }

        fileIn.close();    

        return temp;    

    }

 public void ztree()

 {

 

 }

//导出当前页的数据

public void exportPage(){

ListTblUser list=new ArrayListTblUser();

String[] slist=daor.split(",");

//将页面获取到的id集合遍历,循环添加到list中,进行本页数据到导出

for (int i = 0; i  slist.length; i++) {

list.add(tus.findById(java.lang.Integer.parseInt(slist[i])));

}

tus.export(list);

}

/**

 * 导入Excle到数据库

 * @return null 不然有可能报错!

 * @throws IOException

 */

public void importExcle() throws IOException{

//调用导入文件方法并存入数组中

int s=0;//得到成功插入的条数

int i=0;//得到共有多少条

/**

 * 将不符合格式的数据错误信息存入数组中!

 * 格式要求:

 * 用户名,密码不能为空!

 * 用户名不能和已存在的用户名重复,长度在5-18位之间

 * 密码长度在6-18位之间

 */

String errors="";//保存导入失败信息

try {

System.out.println("进入方法!");

lists=this.loadScoreInfo(path);

System.out.println(path);

for (TblUser u : lists) {

i++;

if(u.getUsername()==""){

    errors+="第"+i+"条数据的用户名为空,导入失败!";//^^:分割符

    continue;

}

if(u.getPassword()==""){

errors+="第"+i+"条数据的密码为空,导入失败!";//^^:分割符

continue;

}

if(tus.findByName(u.getUsername())){

errors+="第"+i+"条数据的用户名 已存在,导入失败!";//^^:分割符

continue;

}

if(u.getUsername().length()5 || u.getUsername().length()20){

errors+="第"+i+"条数据的用户名格式错误,导入失败!";//^^:分割符

continue;

}

if(u.getPassword().length()6 || u.getPassword().length()20){

errors+="第"+i+"条数据的密码格式错误,导入失败!";//^^:分割符

continue;

}

s++;

tus.save(u);//将数组中的数据添加到数据库中!

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

System.out.println("错误:"+errors);

}

        

}  

Java 怎么把 excel文件导入到数据库

package com.ddns.excel;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFFont;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.Region;

/**

* Created by IntelliJ IDEA.

* User: Administrator

* Date: 2010-6-28

* Time: 10:56:48

* To change this template use File | Settings | File Templates.

*/

public class ExcelFile {

/**

* 新建一个Excel文件,里面添加5行5列的内容,再添加两个高度为2的大单元格。

*

* @param fileName

*/

public void writeExcel(String fileName) {

//目标文件

File file = new File(fileName);

FileOutputStream fOut = null;

try {

// 创建新的Excel 工作簿

HSSFWorkbook workbook = new HSSFWorkbook();

// 在Excel工作簿中建一工作表,其名为缺省值。

// 也可以指定工作表的名字。

HSSFSheet sheet = workbook.createSheet("Test_Table");

// 创建字体,红色、粗体

HSSFFont font = workbook.createFont();

font.setColor(HSSFFont.COLOR_RED);

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

// 创建单元格的格式,如居中、左对齐等

HSSFCellStyle cellStyle = workbook.createCellStyle();

// 水平方向上居中对齐

cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

// 垂直方向上居中对齐

cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

// 设置字体

cellStyle.setFont(font);

//下面将建立一个4行3列的表。第一行为表头。

int rowNum = 0;//行标

int colNum = 0;//列标

//建立表头信息

// 在索引0的位置创建行(最顶端的行)

HSSFRow row = sheet.createRow((short) rowNum);

// 单元格

HSSFCell cell = null;

for (colNum = 0; colNum 5; colNum++) {

// 在当前行的colNum列上创建单元格

cell = row.createCell((short) colNum);

// 定义单元格为字符类型,也可以指定为日期类型、数字类型

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

// 定义编码方式,为了支持中文,这里使用了ENCODING_UTF_16

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

// 为单元格设置格式

cell.setCellStyle(cellStyle);

// 添加内容至单元格

cell.setCellValue("表头名-" + colNum);

}

rowNum++;

for (; rowNum 5; rowNum++) {

//新建第rowNum行

row = sheet.createRow((short) rowNum);

for (colNum = 0; colNum 5; colNum++) {

//在当前行的colNum位置创建单元格

cell = row.createCell((short) colNum);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellStyle(cellStyle);

cell.setCellValue("值-" + rowNum + "-" + colNum);

}

}

//合并单元格

//先创建2行5列的单元格,然后将这些单元格合并为2个大单元格

rowNum = 5;

for (; rowNum 7; rowNum++) {

row = sheet.createRow((short) rowNum);

for (colNum = 0; colNum 5; colNum++) {

//在当前行的colNum位置创建单元格

cell = row.createCell((short) colNum);

}

}

//建立第一个大单元格,高度为2,宽度为2

rowNum = 5;

colNum = 0;

Region region = new Region(rowNum, (short) colNum, (rowNum + 1),(short) (colNum + 1));

sheet.addMergedRegion(region);

//获得第一个大单元格

cell = sheet.getRow(rowNum).getCell((short) colNum);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellStyle(cellStyle);

cell.setCellValue("第一个大单元格");

//建立第二个大单元格,高度为2,宽度为3

colNum = 2;

region = new Region(rowNum, (short) colNum, (rowNum + 1),(short) (colNum + 2));

sheet.addMergedRegion(region);

//获得第二个大单元格

cell = sheet.getRow(rowNum).getCell((short) colNum);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellStyle(cellStyle);

cell.setCellValue("第二个大单元格");

//工作薄建立完成,下面将工作薄存入文件

//新建一输出文件流

fOut = new FileOutputStream(file);

//把相应的Excel 工作簿存盘

workbook.write(fOut);

fOut.flush();

//操作结束,关闭文件

fOut.close();

System.out

.println("Excel文件生成成功!Excel文件名:" + file.getAbsolutePath());

} catch (Exception e) {

System.out.println("Excel文件" + file.getAbsolutePath() + "生成失败:" + e);

} finally {

if (fOut != null){

try {

fOut.close();

} catch (IOException e1) {

}

}

}

}

/**

* 读Excel文件内容

* @param fileName

*/

public void readExcel(String fileName) {

File file = new File(fileName);

FileInputStream in = null;

try {

//创建对Excel工作簿文件的引用

in = new FileInputStream(file);

HSSFWorkbook workbook = new HSSFWorkbook(in);

//创建对工作表的引用。

//这里使用按名引用

HSSFSheet sheet = workbook.getSheet("Test_Table");

//也可用getSheetAt(int index)按索引引用,

//在Excel文档中,第一张工作表的缺省索引是0,其语句为:

//HSSFSheet sheet = workbook.getSheetAt(0);

//下面读取Excel的前5行的数据

System.out.println("下面是Excel文件" + file.getAbsolutePath() + "的内容:");

HSSFRow row = null;

HSSFCell cell = null;

int rowNum = 0;//行标

int colNum = 0;//列标

for (; rowNum 5; rowNum++) {

//获取第rowNum行

row = sheet.getRow((short) rowNum);

for (colNum = 0; colNum 5; colNum++) {

// 获取当前行的colNum位置的单元格

cell = row.getCell((short) colNum);

System.out.print(cell.getStringCellValue() + "\t");

}

//换行

System.out.println();

}

in.close();

} catch (Exception e) {

System.out.println("读取Excel文件" + file.getAbsolutePath() + "失败:" + e);

} finally {

if (in != null){

try {

in.close();

} catch (IOException e1) {

}

}

}

}

public static void main(String[] args) throws Exception {

ExcelFile excel = new ExcelFile();

String fileName = "D:\\记录明细.xls";

excel.writeExcel(fileName);

excel.readExcel(fileName);

}

}

java以表格导入数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java将数据库中数据到表格中、java以表格导入数据库的信息别忘了在本站进行查找喔。