问题背景
在我们实际的程序开发、维护的过程中,很多时候都要和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语句。看不怎么明白的话,可以看看
版权声明:本文为CSDN博主「叉叉敌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42514606/article/details/86161695