Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从外部表读取Excel文件_Sql_Excel_Oracle_Csv_External Tables - Fatal编程技术网

Sql 从外部表读取Excel文件

Sql 从外部表读取Excel文件,sql,excel,oracle,csv,external-tables,Sql,Excel,Oracle,Csv,External Tables,我的任务是创建一个模板,由业务用户填写员工信息,然后我们的程序将使用外部表将其加载到数据库中 但是,我们的业务用户通过添加、删除或重新排序字段来不断更改模板 我确信使用XLSX而不是CSV,这样我就可以锁定列标题,使它们无法删除、添加和重新排序列。 但是,当我查询外部表时,它在读取XLSX时显示非ASCII字符,因为它是二进制的 我如何做以下任一项 有效地从外部表读取Excel文件 锁定CSV文件的标题 这是一个政治问题,但你正在寻找一个技术解决方案。不太合适 问题分为两部分: 有人认为在电子表

我的任务是创建一个模板,由业务用户填写员工信息,然后我们的程序将使用外部表将其加载到数据库中

但是,我们的业务用户通过添加、删除或重新排序字段来不断更改模板

我确信使用XLSX而不是CSV,这样我就可以锁定列标题,使它们无法删除、添加和重新排序列。 但是,当我查询外部表时,它在读取XLSX时显示非ASCII字符,因为它是二进制的

我如何做以下任一项

  • 有效地从外部表读取Excel文件
  • 锁定CSV文件的标题

  • 这是一个政治问题,但你正在寻找一个技术解决方案。不太合适

    问题分为两部分:

  • 有人认为在电子表格中收集用户输入是个好主意,但通常情况下并非如此
  • 用户正在摆弄输入格式,这是他们不应该做的 修复程序包括:

  • 严格执行数据结构。拒绝任何不natch的CSV,并让用户编辑它们。当他们意识到他们只是在为自己创造更多的工作时,他们会很快厌倦调整电子表格。但是他们也会感到愤愤不平,所以想想……
  • 构建数据输入屏幕。创建一个类似网格UI的电子表格非常简单。在Java中,您不需要任何复杂的东西:Oracle的Apex正是为实现这类功能而设计的
    但是,如果您坚持使用Excel作为UI,我建议您在Amis网站上查看Anton Scheffer的优秀PLSQL
    as_read\u xlsx
    包。您可能需要将外部表替换为表(可能是流水线)函数上的视图