把excel表内数据导入db2数据库内
答案:2 悬赏:10 手机版
解决时间 2021-03-02 08:34
- 提问者网友:箛茗
- 2021-03-01 20:53
表内的列和db2数据库内表的数据项完全相同,如何导入,用什么工具。
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-03-01 21:35
如果使用的是Access数据库经常导入数据的话,建议先将数据库内容导出到EXCEL然后删除原表.导入外部数据时选择导入连接.
这样在Access或 EXCEL中进行修改都能相互映射.也就是说不能在数据库和EXCEL中任何地方修改都可.两者都等效.
这样在Access或 EXCEL中进行修改都能相互映射.也就是说不能在数据库和EXCEL中任何地方修改都可.两者都等效.
全部回答
- 1楼网友:执傲
- 2021-03-01 22:06
import java.io.fileinputstream; import java.io.ioexception; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; import java.sql.statement; import org.apache.poi.hssf.usermodel.hssfcell; 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.poifs.filesystem.poifsfilesystem; public class poitest { private static connection conn = null; private static statement stmt = null; private static boolean connectdb2() { string url = ""; string username = "username"; string password = "password"; //加载驱动程序以连接数据库 try { //添加类库驱动包db2jcc.jar和db2jcc_license_cu.jar class.forname("com.ibm.db2.jcc.db2driver"); url = "jdbc:db2://192.168.0.1:50000/dbname"; //添加类库驱动包db2java.jar //class.forname("com.ibm.db2.jdbc.app.db2driver").newinstance(); //url = "jdbc:db2:njtcdata"; conn = drivermanager.getconnection(url, username, password); stmt = conn.createstatement(); } //捕获加载驱动程序异常 catch (classnotfoundexception cnfex) { system.err.println("装载jdbc驱动程序失败。"); cnfex.printstacktrace(); return false; } //捕获连接数据库异常catch (sqlexception sqlex) { system.err.println("无法连接数据库"); sqlex.printstacktrace(); //system.exit(1); // terminate program return false; } return true; } private static boolean readexceltodb2() { poifsfilesystem fs = null; hssfworkbook wb = null; try { fs = new poifsfilesystem(new fileinputstream("c:test.xls")); wb = new hssfworkbook(fs); } catch (ioexception e) { e.printstacktrace(); return false; } hssfsheet sheet = wb.getsheetat(0); hssfrow row = null; hssfcell cell = null; string name = ""; int id = 0; int rownum, cellnum; int i; rownum = sheet.getlastrownum(); for (i = 0; i <= rownum; i++) { row = sheet.getrow(i); //cellnum = row.getlastcellnum(); cell = row.getcell((short) 0); name = cell.getstringcellvalue(); cell = row.getcell((short) 1); id = (int) cell.getnumericcellvalue(); string sql = "insert into test(id, name) values(" + id + ",'" + name + "')"; try { stmt.executeupdate(sql); } catch (sqlexception e1) { e1.printstacktrace(); return false; } } return true; } public static void main(string[] args) { if (connectdb2()==true){ if (readexceltodb2()==true) system.out.println("数据导入成功"); else system.out.println("数据导入失败"); } else{ system.out.println("数据库连接失败"); } } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯