【发布时间】:2021-08-28 16:54:34
【问题描述】:
Oracle table1.data 中有一个blob test.xlsb 文件。在 test.xlsb 中有一个工作表“你好”。但是脚本
SELECT
CASE DBMS_LOB.instr(t.data, UTL_RAW.cast_to_raw('Hello'))
WHEN 0 THEN 'No such line' ELSE 'Okay' END res
FROM table1 t;
return '没有这样的行'。为什么?我们如何解决“*.xlsb 文件是否有一个带有特定 [sheet.name] 的工作表?”的问题?当然,我们假设不能只在 Excel 中打开文件,看看是否有这样的工作表。
【问题讨论】:
-
您可能无法找到该字符串,因为 .xlsb 文件基本上是压缩的 ZIP 文件。您必须解压缩文件并读取此 ZIP 文件中包含工作表名称的任何文件。但是,我不禁觉得数据库是做这种事情的错误地方。
-
@LukeWoodward,感谢您的意见。我会看看减压。但事情就是这样。并且需要通过工作表的名称过滤大量的.xlsb文件。