繁体   English   中英

是否可以将Excel工作表导入数据库中的表?

[英]Is it possible to import an excel sheet as a table in the database?

这是我第一次尝试这个,我不知道是否可能。 我正在尝试开发一个允许我将excel文件直接上传到数据库的应用程序。

是否可以上传excel数据而无需先将Excel工作表转换为CSV格式? 数据库表包含与excel文件同名的字段和列。

有谁知道一个可以为我做这个的工具?

这当然是可能的。 您可能对JBoss Teiid项目感兴趣,该项目可以访问Excel电子表格,就像它是一个表格一样。

鉴于此,您可以轻松地将电子表格形成的“虚拟”表中的所有值(我们称之为excelTable)填充到另一个表中(让我们称之为targetTable):

INSERT INTO targetTable(column1,...) SELECT column1,... FROM excelTable;

该项目是开源的,所以如果它的使用不符合您的需求,您可以随时查看来源并获得灵感,如何做这些事情。

最好的祝福

一月

对于Oracle,最简单的方法是使用sqlldr进行批量加载。

因此,您需要一个将解析xls/xlsx并为sqlldr写入数据文件的应用程序(可以是csv ,实际上是任何分隔的文本文件)。

如果你真的不想转换文件,你可以解析它并一次插入每一行,但这种方法在处理大量数据时非常慢。

Sqlldr FAQ

编辑sqlserver等效工具称为BCP

BCP工具

当然,您可以在没有任何附加软件的情况下使用这些工具,一旦准备好数据和/或控制文件,就可以通过命令行运行它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM