Чтение файлов Excel из внешних таблиц

Мне поручено создать шаблон, который бизнес-пользователи будут заполнять информацией о сотрудниках, а затем наша программа загрузит его в базу данных с помощью внешних таблиц.

Однако наши бизнес-пользователи постоянно меняют шаблон, добавляя, удаляя или изменяя порядок полей.

Я убежден использовать XLSX вместо CSV, чтобы я мог заблокировать заголовки столбцов, чтобы они не могли удалять, добавлять и изменять порядок столбцов. Однако, когда я запрашиваю внешнюю таблицу, при чтении XLSX отображаются символы, отличные от ASCII, потому что они в двоичном формате.

Как я могу сделать одно из следующего?

  1. Эффективное чтение файлов Excel из внешних таблиц
  2. Заблокировать заголовки файлов CSV?

person Migs Isip    schedule 16.04.2017    source источник


Ответы (1)


У вас здесь политическая проблема, но вы ищете техническое решение. Не подходит.

Проблема состоит из двух частей:

  1. Кто-то решил, что собирать пользовательский ввод в электронной таблице — хорошая идея, чего обычно не происходит.
  2. Пользователи возятся с форматом ввода, чего им не следует делать.

Исправления:

  1. Строго соблюдайте структуру данных. Отклоняйте любые CSV-файлы, которые не поддерживаются, и заставляйте пользователей редактировать их. Они быстро устанут настраивать электронные таблицы, когда поймут, что просто создают себе дополнительную работу. Но и обижаться будут, так что считай...
  2. Построение экрана ввода данных. Довольно просто создать пользовательский интерфейс сетки, похожий на электронную таблицу. Вам не нужно ничего сложного в Java: Oracle Apex предназначен именно для таких вещей. Подробнее.

Однако, если вы застряли с Excel в качестве пользовательского интерфейса, я предлагаю вам взглянуть на отличный пакет PLSQL as_read_xlsx Антона Шеффера на сайте Amis. Посмотрите. Вам, вероятно, потребуется заменить внешнюю таблицу функцией просмотра таблицы (возможно, конвейерной).

person APC    schedule 16.04.2017