`
小小虾001
  • 浏览: 9320 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

excel数据导入到指定的表中(名称与表字段不对应)

 
阅读更多
package com.service.compare;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.hssf.eventmodel.EventRecordFactory;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;

import com.service.upfile.Link_Database;

public class Com_import {

private Connection conn = null;
PreparedStatement pstmt = null;

public void connect() {
try {
Link_Database demo = new Link_Database();
conn = demo.connect();
} catch (Exception e) {
e.printStackTrace();
}
}

public void close() {
try {
this.conn.close();
} catch (Exception e) {

}
}


public void test(String path,String xmb_bm,String charge_date){

List<Integer> list = new ArrayList<Integer> ();
try {
//OPCPackage pkg = OPCPackage.open(path);
InputStream is = new FileInputStream(path);
Workbook wb = WorkbookFactory.create(new File(path));
Sheet sheet = wb.getSheetAt(0);

for(int i = 0; i<sheet.getLastRowNum(); i++){
Row row = sheet.getRow(i);
if(row != null){
if(i==0){
String str = "电话号码,客户名称,来显,月租,宽带月租,铜缆租用,维护费";
for(int j=0; j<row.getLastCellNum();j++){
Cell cell = row.getCell(j);
if(cell==null || cell.toString().trim().length()==0){
}else if(str.indexOf(cell.toString())!=-1){
list.add(j);
}
}
}else{
StringBuffer str_charge=new StringBuffer();
for(int w=0;w<list.size();w++){
Cell cell = row.getCell(list.get(w));
if(cell==null|| cell.toString().trim().length()==0){
str_charge.append("'0',");
}else{
str_charge.append("'"+cell.toString()+"',");
}
}
if(!str_charge.toString().substring(0, 7).equals("'0','0'")){
String str = str_charge.toString().substring(0, str_charge.lastIndexOf(","));
this.import_date(str,xmb_bm,charge_date);
}
}
}
}
} catch (InvalidFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

public void import_date(String args, String xmb_bm,String charge_date){

try {
String sql_bdth = "insert into CAIWU_COMPARE(TELNUMBER,CUSTOMER,CID_CHARGE,JB_YZF,KD_YZF,TL_YZF,WH_CHARGE,XMB_BM,CHARGE_DATE) values ("+args+",'"+xmb_bm+"','"+charge_date+"')";
pstmt = conn.prepareStatement(sql_bdth);
pstmt.execute();
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

public void delete(String xmb_bm,String charge_date){

try {
String sql = "delete from CAIWU_COMPARE where CHARGE_DATE='"+charge_date+"' and XMB_BM='"+xmb_bm+"'";
pstmt = conn.prepareStatement(sql);
pstmt.execute();
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static void main(String[] args){
Com_import demo = new Com_import();
demo.connect();
demo.test("D:/desktop/charge_off_data/新新新.xls","TD","2013-01");

//demo.test("D:/apache-tomcat-6.0.30/webapps/yzxt/data/2013-01/话费清单.xlsx","TD","2013-01");

demo.close();
}

}
分享到:
评论

相关推荐

    excel数据导入sql工具

    一个将excel文件导入到SQLServer表中的程序 一 双击Input.exe运行程序,将弹出一个窗口,这时请你在"数据库名"后面的 输入栏中输入数据库名(如果是千方百剂就是输入帐套名).你如果没对数 据库的登录进行特殊修改的...

    excel导入sql(excel转sql.zip

    五 双击Excel字段处从下拉框中选择excel的列,双击表字段处从下拉框中选择SQL表的列,然后看这列是否是"关键字",是的话打勾,不是不打勾.选择完第一行后,就按方向键的向下键,继续第二行的选择,直到配置完Excel列和表字...

    excel 表字段匹配导导入数据库

    把excel表通过匹配后导入数据库,要求导出失败记录。

    java版Excel文件导入数据库源代码

    需要导入的列:1,2,3,4//参考test.xls文件,A列=1,B列=2,C列=3...(一定要和表字段对应) CLOB表字段:clob//text表中clob字段的列名,clob字段的插入需要单独处理 需导入的clob列:5//参考clob字段在excel中的列 5.点击...

    2024年沪深股票证券交易日INSERT SQL及excel数据等文件

    1、根据国务院办公厅关于2024年部分节假日安排的通知汇总的股票证券交易日和非交易日新增insert sql数据;... 若是需要导入的数据库,则仅将T_TRADEDATE---DML.sql文件按照各自的表结构修改对应的表字段和值即可。

    MSSQL 查询管理器 V1.0.0.135

    可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网...

    MSSQL Server 管理器 V3.0 免注册

    可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网...

    MSSQL Server 管理器 V1.0.0.138

    可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网...

    MSSQL Server 管理器 V2.0.0.0

    可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网...

    DbTool:数据库工具,根据表结构文档生成创建表sql,根据数据库表信息导出Model和表结构文档,根据文档生成数据库表,根据已有Model文件生成创建数据库表sql

    这是一个针对 SqlServer 和 C# 的数据库的小工具,可以利用这个小工具生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数据类型,如 int? , DateTime? ,如果数据库中有列...

Global site tag (gtag.js) - Google Analytics