您的位置:首页 > 数据库

使用sql语法跨多个excel文件进行查询工具

2018-01-20 14:26 513 查看

起因

之前公司的业务人员,经常会拿几个excel给我,希望我帮他们做些过滤。而我一般的操作都是,把excel导入到数据库不同的表中。通过sql进行关联查询,并过滤出结果。再导出excel给他们。因为处理的多了,所以想着做成一个工具,节省导入导出数据库的操作。

大家可以体验下

http://kpoda.com:8080/ohw

使用说明

简介

通过下述的例子,用户可以了解如何简单使用该工具。

数据准备

准备两个excel,他们分别为d1.xlsx和d2.xlsx。其中d1中有两个sheet,d2中只有一个sheet。 建议使用的excel的标题行为1。如果某个sheet的标题行不为1,可以使用“跳过标题行”进行设置。它们的数据分别如下所示:







查询语句编写

将下述语句输入,对应的文本框。查询语句,完全遵守sql规则。详细见此

select t1.*,t2.c2,t2.c3,t3.c2,t3.c2 as 物料组描述 from t1 join t2 on t2.c1 =t1.c1 join t3 on t2.c3 =t3.c1 order by t1.c1



解释:

select t1.:选择表1(d1.xsl的sheet01)的全部列,如果你想选择表2的全部列,可以写成t2.;

t2.c2:表示表二的第二列;

t3.c2:表示表三的第三列,并改列名为“物料组描述”;

select t1.:选择表1(d1.xsl的sheet01)的全部列,如果你想选择表2的全部列,可以写成t2.;

from t1:表示从表1进行查询;

join t2 on t2.c1 =t1.c1:表示通过表1的第一列和表2的第二列,连接表2;

选择上传文件

点击“选择文件”按钮,选择要上传的excel。注意文件的命名规则,建议在原有文件名前加入数字,即“1d1”和“2d2”,系统会根据文件名前的数字进行排序,以匹配查询语句中的表。



跳过的标题行

在”sheet跳过行数”,输入各个sheet的标题行数,即为列名的部分的行数,用逗号进行分隔。本例子为均为1,总共有三个sheet,则输入”1,1,1”



结果

点击“提交”按钮,导出新的excel。格式如下所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql excel 数据 数据库
相关文章推荐