如何把Excel数据转化成SQL语句-转

如何把Excel数据转化成SQL语句-转

问题背景
 
        在我们实际的程序开发、维护的过程中,很多时候都要和Excel打交道。
因为用户的数据很多时候是Excel存储的。
       公司维护项目的时候,经常要帮客户导入Excel数据,这些数据很多,零
碎,而且数据不是很规范。我们经常需要整理过的Excel表变成Sql语句。最
后,把Sql语句在客户的服务器上执行。
       客户要求更新的时候很多多,甚至占了比开发还要长的时间。但我一直
没有找到比较理想的解决方法。下面是我的一些比较无奈的解决方法,为的
是抛砖引玉。
 
解决方法
 
     1, 把Excel通过DTS包导入到数据库中,再通过软件生成Sql脚本。以前用过
         QueryCommander。可惜生成的Sql语句很难达到要求。
               问题一:是不够灵活。比方用户的数据不符合要求,然后要到数据
                         库里更改,数据库的编辑能力是很差的。
               问题二:转换成你想要的Sql语句很难。(可能我没发现软件)
     2, 通过Excel中的公式来生成Sql语句。
               问题一:一旦表中的某个字段是关联到另外的表,就比较麻烦
               问题二:要借助很多其它工具,数据库查询工具,UE等。
     3, 期待您更好的方法。。。
 
     在工作中,我用的一般用的是第二种方法,下面我就介绍下第二种方法
 
简单示例(Excel变成Sql)
  


我这里的演示要完成的就是把它们转变成一条条如下图Sql

INSERT INTO 
logistic_basestation
(
   physicalbasestation_id,
   logisticbasestation_name,
   basestation_type,project
)
values
(
   'GZYW01587'
   ,'体育西站(地铁3号)',
   '宏蜂窝',
   '12'
)

 
如何利用Excel的公式生成SQL语句

 首先,我们可以手工创建一条如上图一样的Sql语句。
 然后,SQL查询分析器中执行,确定是正确的语句。
          再利用Excel单元格中(A1,B1,C1,D1)的数据来
代替上图中具体的值具体操作是在单元格E2的公式栏
输入下面的公式。
"
INSERT INTO 
logistic_basestation
(
   physicalbasestation_id,
   logisticbasestation_name,
   basestation_type,
   project
)
values(
(
    '"&A2&"','"&B2&"','"&C2&"','"&D2&"'
)
"

  
          即可以得到一条插入数据的Sql语句。
         把鼠标移到写了公式的单元格的右下角,当单元格有下角变成,
鼠标变成瘦瘦的十字架的时候,单击鼠标左健往下拉,这样就生成了所有的五
条Sql语句。看不怎么明白的话,可以看看

 

 

posted @ 2014-03-23 23:38 Rikies 阅读( ...) 评论( ...) 编辑 收藏
posted @ 2014-03-23 23:38  叉叉敌  阅读(81)  评论(0编辑  收藏  举报