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

起因

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

大家可以体验下
http://kpoda.com:8080/ohw

使用说明

简介

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

数据准备

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

使用sql语法跨多个excel文件进行查询工具_第1张图片
使用sql语法跨多个excel文件进行查询工具_第2张图片
使用sql语法跨多个excel文件进行查询工具_第3张图片

查询语句编写

将下述语句输入,对应的文本框。查询语句,完全遵守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

使用sql语法跨多个excel文件进行查询工具_第4张图片
解释:
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”,系统会根据文件名前的数字进行排序,以匹配查询语句中的表。
使用sql语法跨多个excel文件进行查询工具_第5张图片

跳过的标题行

在”sheet跳过行数”,输入各个sheet的标题行数,即为列名的部分的行数,用逗号进行分隔。本例子为均为1,总共有三个sheet,则输入”1,1,1”
使用sql语法跨多个excel文件进行查询工具_第6张图片

结果

点击“提交”按钮,导出新的excel。格式如下所示:
使用sql语法跨多个excel文件进行查询工具_第7张图片

你可能感兴趣的:(笔记)