根据excel生成数据库脚本(怎样在Excel中使用python脚本)

本文目录
- 怎样在Excel中使用python脚本
- 需求:将excel表中的数据通过PYTHON脚本编写,每日自动导入到oracle数据库相应的一张表格中
- 如何将数据库sql server2008中的数据库生成脚本输出
- World/Excel/Json文档转化为sql脚本
- 如何将excel一列数据导入数据库使用plsql工具
- 如何将Excel数据转换为SQL脚本
- 用Excel指定单元格数据查询SQL条件的VBA代码
怎样在Excel中使用python脚本
在Excel中准备调用的python代码:
def merge_sort_unique(lists):
s = set()
for L in lists:
s.update(L)
return sorted(s)
任意在本地建立一个目录,并保存这个代码并命名为Methods.py。我们一步步看看如何从Excel的工作表中如何调用这个脚本。打开Excel,填写一些数据以便提供python脚本处理,并保持这个表格于刚才的python脚本在同一目录下。你的工作表应该如下:
接下来,打开VBA并提交给ExcelPython。
打开VBA按 Alt + F11 然后进入工具界面的 References···如果你已经正确安装了ExcelPython你可以从对话框中选择。
现在,备调用python脚本,创建一个新的模块(Insert | Module)并敲以下VBA代码:
Function msu(lists As Range)
Set methods = PyModule("Methods", AddPath:=ThisWorkbook.Path)
Set result = PyCall(methods, "merge_sort_unique", PyTuple(lists.Value2))
msu = WorksheetFunction.Transpose(PyVar(result))
ExitFunction
EndFunction
需求:将excel表中的数据通过PYTHON脚本编写,每日自动导入到oracle数据库相应的一张表格中
目前只有一个办法。通过excel的COM接口。不管是WORD还是EXCEL,都可以用这个方法来操作。不过COM接口的文档不是很好找。你可以到它们里的VBA帮助里找出来,然后试验一下。
COM接口本来就是给C++用的。如果用python写尽量多加一些防出错机制。
许多年前做过一个简易的OA系统,就是生成EXCEL文档。前两年又做过一个小项目,是将EXCEL里的数据读出后转换出来。至于oracle,直接用pymysql或者是mysqldb就可以访问。安装一个oracle的驱动。现在都容易找到。
大约开发时间1天左右就可以弄出来。
另外excel导入到oracle,如果不用python来写,可能会更容易些。比如Csharp。而且帮助也多些。
如何将数据库sql server2008中的数据库生成脚本输出
Qzone
微信
SQL Server用SQL指令导入文件
华彩缤纷 2016-12-16 09:14
通常情况下,SQL Server要导入Excel文件,我们都是用SQL Server提供的导入工具。但其实SQL Server有更简单的方法:
1)接受数据导入的表已经存在。
insert into t1 select * from OPENROWSET(’MICROSOFT.JET.OLEDB.4.0’ ,
’Excel 5.0;HDR=YES;DATABASE=c:\test.xls’,sheet1$);
2)导入数据并生成表。
select * into t1 from OPENROWSET(’MICROSOFT.JET.OLEDB.4.0’,
’Excel 5.0;HDR=YES;DATABASE=c:\test.xls’,sheet1$);
3) 导入Excel中指定的列到数据库表中指定的列。
INSERT INTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET ’MICROSOFT.JET.OLEDB.4.0’ ,’Excel5.0; HDR=YES; DATABASE=c:\test.xls’,sheet1$);
需要注意:
从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。
World/Excel/Json文档转化为sql脚本
有些项目中可能会遇到这种情况,就是需要把wrod文档或者Excel里面的数据转换成为一个SQL 脚本,一般情况下,如果数据量较少,咱们可以手动写脚本,但是如果数据量大的时候,那简直要命,重复工作量大且容易出错,下面我介绍一种技巧去做这件事。
这个技巧的思路是:
一、整理word文档为Excel’[
上面是一个word文档,现在需要新建一个Excel并把数据构造好,向下面这样:
二、在线工具将Excel转换为JS数据(或JSON)
百度一下 “excel 转 json”,就会发现很多在线工具,我用的是这个 在线工具
三、用js脚本拼接出字符串
到此我们有了基础数据,那么就用js遍历数组把sql字符串拼接出来,下面是我做的示例:
这里有一个技巧使用了模板的概念,tempHtml方法用正则表达式替换关键字,可以减少重复工作量
四、打开html,复制出字符串
结束!!
如何将excel一列数据导入数据库使用plsql工具
方法/步骤
首先在SQL Window窗口中,查询需要导出的数据。
在查询的结果集上(注意不要选中任何一个行或者单元格)右键--【Copy to Excel】--》【Copy as xls/xlsx】导出到97-2003格式的.xls或者2007之后的xlsx文件.
如果不想导出查询的全部数据,可以在左侧选中需要导出的行,然后步奏同上。
点击导出后,系统自动打开导出的excel文件内容,这里面包括数据以及查询这些数据的sql脚本。
点击“SQL Statement”可以查看数据库脚本。
下面就是操作excel文件了。点击【文件】--【另存为】保存excel文件
选择保存路径,输入文件名称。
如何将Excel数据转换为SQL脚本
.sql文件转成excel表格的步骤:1、将sql文件放入数据库执行(这边以mysql数据库为例),SQL命令行操作:sql》@full_path/test.sql;例:sql》@D:/test.sql;不需要commit;一般都是在test.sql里面最后加上一个commit;2、从数据库导出数据至excel表格,SQL命令行操作:sql》select*intooutfile’d:/test.xls’from表名;例:sql》select*intooutfile’d:/test.xls’fromtest;
用Excel指定单元格数据查询SQL条件的VBA代码
这个方法最简单但不是傻瓜式的方法,需要你对Excel和MySQL都有一点点了解。 当然,我在最后提供了一个作为例子的Excel文件,但仍然需要你会写MySQL的INSERT语句,这样才能调试可能出现的错误。 1.在需要导入的数据最后一列,写入一个Excel公式(例子中是“SQL”下面的单元格,“SQL”是不必要的,仅仅是为了看起来方便)。 =CONCATENATE("insert
into
employee(name,birthday,email,hobby)values(’",RC是从最后一列(不包括该列)往前数的第二列。 2.将"SQL"下面单元格的公式复制到该列的其它单元格,这样可以看到生成了所需要的所有SQL语句。 3.将最后一列选中,复制数据到一个文本文件,将该文本文件另存为一个.sql文件(别忘了删除第一行的“SQL”)。 4.能够运行sql文件的工具有很多,运行这个文件就可以了。如果没有工具,参考
在windows下批量执行mysql脚本(
***隐藏网址***
)。 使用上面的方法,你需要知道什么样的insert语句对于mysql来说是正确的。 最常见的是日期的格式,如果不转换成字符串,用上面的方法会生成一个整数,这样插入mysql后就不对了。 因此上面的公式改成 =CONCATENATE("insert
into
employee(name,birthday,email,hobby)values(’",RC,"yyyy-mm-dd
hh:mm:ss"),"’,’",RC,"’);") 这里用到了TEXT函数来将日期格式化成mysql能接受的日期字符串。 具体请参考例子。Excel2Mysql.rar
文件说明如下: doc.txt--本文 SqlGen.xls--Excel例子文件 create.sql--建表语句 insert.sql--生成的insert语句 function.txt--需要在Excel中使用的函数 写了这么多,实际上就一句话:使用Excel的CONCATENATE函数生成sql语句并执行。 如果懂一点儿VBA可以直接生成insert.sql文件

本文相关文章:
结构体数组变量赋值(在某个函数中,对结构体数组赋值,如何在其他函数中使用结构体数组中的数据,最好用例子说明一下)
2026年9月24日 06:45
subplot position(matlab,使用subplot时添加总title的方法)
2026年9月19日 00:45
websocket同步模块易语言(使用易语言,怎么写才能和局域网内的电脑时间同步)
2026年9月18日 16:00
flash特效文字(如何使用Flash制作逐渐显示的文字动画)
2026年9月18日 15:45
html文本标签属性标签(如何使用HTML的title属性)
2026年9月16日 19:30
易语言程序需要注册才能使用(易语言程序限制使用次数怎样运行一次注册项的数值减1,到0时程序必须注册)
2026年9月15日 03:30
更多文章:
html注册界面表单验证代码(html,js表单的验证,下面代码是想实现当输入6个字符以上用户名通过,少于时报错,但执行不了,求改错)
2025年6月23日 16:15
kali linux基础(变身滚动发行版,Kali Linux 2.0特性知多少)
2026年9月9日 23:45
access如何用查询值给一维数组赋值(如何用vb读取access表中数据,并赋值给另一变量然后进行计算判断 急!)
2025年9月7日 11:00
tp5666路由器(Tplink6500无线路由器怎么设置上网最流畅)
2025年11月18日 15:45
normal tanks第7关密码(请问normal tanks第五关以后的密码是多少诚挚谢谢!!)
2026年9月9日 02:00
编写webservice通讯接口(webservice接口怎么写)
2025年6月7日 15:45
尿常规中conduct是啥意思(尿常规报告单.请大家帮忙解读分析一下.)
2026年3月31日 19:30
简述php脚本程序工作流程(PHP脚本程序主要是由哪几部分组成)
2026年3月4日 15:15
java字符串截取后两位(JAVA截取所有指定字符后面的字符串)
2025年12月5日 23:15
告别php源码(apache 解析一个错误的php文件时,会直接显示php的源码,如何让他不显示源码)
2026年1月28日 18:00







