将Excel转换成sql文件,插入数据库

需求:有excel文件,含多个sheet,每个sheet的内容对应插入到一张表,sheet的名称就是对应的表名称。

 每一行为列名,例如:

 

达成:将每个sheet输出成一个以sheet名称命名的sql文件,内容为每行内容的insert语句。

以上图为例会生成三个sql文件,分别是TF_R_TERMINAL_ARCH.sql, TF_R_STOCK_TRADE.sql 和 TF_R_STOCK_TRADE_DETAIL.sql  如下图

 

下面是程序ExcelToInsert.java

 

 

注意事项:

 

1, 需要jxl.jar包

2, 数据量大可能导致以下两种情况的发生

     a, 内存溢出

     b, sql文件的后几行出现缺行,中断的情况

 

内存溢出的解决方法---> 增加JDK的可用内存

方法(以eclipse中为例):

Build Path -> Configura Build Path -> (选择JDK)Edit -> Installed JRE -> (选择JRE)Edit -> 在Default VM Arguments中填:

-Xms512m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -Xverify:none -da

(前两个意思是起始内在512M,最大1024M,其他的就不解释了,我也不知道)

 

SQL文件最后出现断行中断情况的解决办法

  如代码所示在write()方法后增加flush()方法

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值