Импорт данных из баз данных в ACell (На примере PostgreSQL)
AlterOffice поддерживает импорт данных из разных источников, в том числе – баз данных. В данном разделе мы рассмотрим именно их на примере PostgerSQL. Интерфейс подключенных баз данных можно увидеть открыв меню “Вид” -> “Источники данных”.
Для соединения продуктов AlterOffice с базами данных используется пакет ABase, поставляемый в комплекте AlterOffice.
Список поддерживаемых источников данных для ABase:
SQL:
- JDBC
- Oracle JDBC
- MySQL
- ODBC
- PostgreSQL
- dBASE (СУБД)
А также другие источники:
- ADO (ActiveX Data Objects – представления данных из разных источников в объектно-ориентированном виде)
- Microsoft Access
- Microsoft Access 2007
- Электронная таблица (Например таблицы ACell, Excel, Calc, Web таблицы)
- Текстовые документы (Например документы AText, Word)
- Документы Writer
Импорт данных в ABase
Сначала нам требуется синхронизировать базу данных с ABase, с помощью чего будет происходить взаимодействие между ACell и базами данных.
Для импорта данных из базы данных в ABase – зайдите в ABase, из вариантов нужно выбрать:
- Соединиться с существующей базой данных
- Выбрать из выплывающего списка вашу базу данных (В нашем случае PostgreSQL)
Далее вам потребуется ввести данные вашей базы:
Где:
- dbname – название вашей конкретной базы (В нашем примере testdb)
- host – название хоста, на котором находится ваша база данных (Например 127.0.0.0, 194.221.212.96 итд)
В следующем окне введите пользователя и пароль, также можно протестировать подключение к базе, нажав кнопку “Тест подключения”:
В последнем разделе вам требуется подтвердить регистрацию базы:
Импорт данных в ACell/Фильтрация данных
Для импорта данных в ACell вам нужно перейти в ACell и выбрать Вид->Источники данных и выбрать в открывшемся меню вашу базу
В раскрывающемся меню “Запросы” вы можете получить результат запроса по конкретной базе данных, в которой уже написан данный запрос, например в ABase мы создали запрос на вывод столбца с именами (firstname). Мы получили данный результат:
В раскрывающемся
меню “Таблицы” вы можете найти требуемую таблицу и перенести её в документ ACell с помощью перетягивания
курсором мыши в требуемую начальную ячейку, также можно настроить фильтры
таблицы:
Где первая ячейка является автофильтром, вторая применением фильтра, а третья стандартным.
Фильтры в ACell взаимодействуют со столбцами, и сортировка/отсеивание происходит через фильтрацию значений в столбцах.
С помощью автофильртра вы можете отсортировать данные по ячейке, для этого выберите ячейку и нажмите на “автофильтр”, например, если выбрать ячейку Алексей в данной таблице:
То результатом сортировки будет являться одна строка:
При этом сортировка в автоматическом варианте сортирует по вертикали, следует, что при сортировке по параметру 33 в столбце age вывод будет уже двух строк, так как в двух строках в параметре age записана переменная 33:
Применение фильра – данная опция неактивна, пока вы не примените один из двух фильтров (автофильтр или стандартный фильтр). После применения вы можете включить и выключить созданный фильтр с помощью данной функции.
В стандартном фильтре вы можете обозначить параметры импорта:
Где:
- Имя поля – имя столбца, по которому будет вестись фильтрация
- Условие – условие, по которому фильтр будет отсеивать данные (Например больше, меньше, не NULL итд)
- Значение – значение для условия (Например 20 при условии “>” будет давать результат фильтра >20)
- Оператор – связывает условия логическим оператором “И”/”Или”
Для примера возьмём список сотрудников. В первом варианте мы хотим найти однофамильцев с помощью стандартного фильтра:
Для этого открываем стандартный фильтр и прописываем значения по столбцам:
Имя поля – lastname
Условие – “=”
Значение – Смирнов
Результатом мы получим список однофамильцев:
Допустим, в данном варианте нам не подходят сотрудники старше 30-ти лет, возвращаемся к окну стандартного фильтра и ставим дополнительное условие в следующей строке:
(Параметры следующей строки не будут доступны, пока вы не выберите в ней “Имя поля”)
Нажимаем “Ок” и вывод будет учитывать уже два условия и уберёт неподходящую строку:
Результаты вывода фильтров можно перенести в документ из таблицы с помощью перетаскивания курсором за левый верхний угол
Также отдельную строку можно перенести, нажав на первую пустую ячейку напротив строки
Если же вам требуется перенести несколько строк, то перед переносом их можно выделить с помощью нажатия Shift+левая кнопка мыши по тем же пустым ячейкам:
После этого вы можете перетащить курсором выбранные строки в документ: