如何使用 PLSQL 打开、读取和存储 XLSX 文件的 DB 内容?

Posted

技术标签:

【中文标题】如何使用 PLSQL 打开、读取和存储 XLSX 文件的 DB 内容?【英文标题】:How to open, read and store to DB content of XLSX file with PLSQL? 【发布时间】:2018-09-04 08:27:23 【问题描述】:

我正在尝试使用 PLSQL 打开、解析并将 .xlsx 文件中的内容保存到数据库。这可能吗 ?我在服务器上有我的文件,为该路径创建了对象,并为我的用户提供了权限 rw。我应该使用 PLSQL 从 XLSX 转换为 CSV 吗?这是可能的还是有其他方法来处理 XLSX 文件?

到目前为止我尝试的是this,但我得到了异常

ORA-22288: 文件或 LOB 操作 FILEOPEN 失败

试图授予我的对象的权限,但仍然无法正常工作。

【问题讨论】:

【参考方案1】:

假设您只想手动上传少量电子表格(而不是需要定期或大量自动上传),那么将 excel 文件中的行插入数据库的最简单方法是向生成的表中添加一列作为 SQL 插入语句。

例如:

如果 Excel 工作表在 ABC 列中包含数据以及标题行:

ROWS A        B       C
1    id       value1  value2
2    1          23.0  Smith
3    2          42.7  O'Brien
4    3          59.6  Jones

然后在单元格D2 中放入:

="INSERT INTO table_name ("&A$1&","&B$1&","&C$1&") VALUES ("&A2&","&B2&",'"&SUBSTITUTE(C2,"'","''")&"');"

然后将公式复制并粘贴到D3-D4 中,使表格如下所示:

ROWS A      B       c        D
1    id     value1  value2  
2    1        23.0  Smith    INSERT INTO table_name (id,value1,value2) VALUES (1,23,'Smith');
3    2        42.7  O'Brien  INSERT INTO table_name (id,value1,value2) VALUES (2,42.7,'O''Brien');
4    3        59.6  Jones    INSERT INTO table_name (id,value1,value2) VALUES (3,59.6,'Jones');

最后,复制生成的 SQL 语句并在 SQL Plus 中运行。

【讨论】:

我明白你在说什么,但我没有 SQL Plus 或 Developer。 @AdiC.N.然后在任何 IDE 中运行这些 SQL 语句,以运行从问题链接到的 SQL 语句。如果您没有任何方法来运行 SQL 语句,那么我们给您的任何解决方案都将无法执行。

以上是关于如何使用 PLSQL 打开、读取和存储 XLSX 文件的 DB 内容?的主要内容,如果未能解决你的问题,请参考以下文章

java如何读取一个加密后的.xls文件

如何使用 C# 和 OleDbConnection 读取 .xlsx 和 .xls 文件?

为啥自己的r语言中读不了xlsx文件

如何在 javascript 中读取和显示 xlsx 文件

在 django 中上传和读取 xlsx 文件

nodejs-xlsx导出的excel,office打开提示“发现不可读取的内容”?