把 Excel 文件导入关系数据库是数据分析业务中经常要做的事情,但许多 Excel 文件的格式并不规整,需要事先将其中的数据结构化后再用 SQL 语句写入数据库。JAVA程序猿经常选择使用POI或者HSSFWorkbook等第三方类库来实现,通常都要硬编码,如果碰到格式复杂的表格,解析工作量还会成倍增加,Java没有表格对象,总要利用集合加实体类去实现,导致代码冗长、不通用。集算器的 SPL 是专业处理结构化数据的语言,它能够轻松读取 excel 数据,然后结构化成“序表”后导入数据库。使用 SPL 语言后,以往需要编写数千行代码才能完成的 Excel 数据结构化入库工作,现在只需要不到 10 行代码就可以胜任,简单情况下甚至只需要 2、3 行代码。
而关于导出,有时我们需要用程序来自动生成 Excel 文件,但 Excel 本身带的 VBA 并不好用,集算器作为数据处理工具实现这个需求就会方便很多。
本文中用到的函数请参看集算器文档《函数参考》。
下面我们就来了解一下集算器是如何对表格数据进行导入或导出的:
导入
1、普通行式
表格样式:
集算器脚本:
脚本说明:
A1:打开“学生成绩表.xlsx”文件并导入成序表,选项@t表示文件第一行是列标题;
A2:连接demo数据库;
A3:将A1中的序表存入到demo数据库的xscj表中,由于表中的列名和序表中的字段名一样,所以只需指定数据表名即可。
导入效果:
2、多行表头行式
表格样式:
集算器脚本:
脚本说明:
A1:打开文件并导入数据成序表,参数“1,5”表示读第一个 sheet,从第 5 行开始读,一直读到文件结尾;
A2:将 A1 中读到的序表列名依次改为“序号、项目编码、项目名称、计量单位、数量、单价、合价”,即要存入的数据表的列名。
导入效果:
3、自由格式
表格样式:
集算器脚本:
脚本说明:
A1:创建列名为“雇员 ID, 姓名, 性别, 职位, 生日, 电话, 地址, 邮编”的空序表
A