Последняя версия DataExpress 22.3.12

Изображение Скачать | Изображение Что нового?

kok80-ExportToExcel (LibreOffice calc)


Модератор: Разработчики расширений

kok80
Эксперт
Сообщения: 434
Зарегистрирован: 02 июл 2018, 21:45
Благодарил (а): 5 раз
Поблагодарили: 64 раза

kok80-ExportToExcel (LibreOffice calc)

Сообщение kok80 » 17 окт 2019, 17:52

kok80-ExportToExcel ver 3.2
возможности (выбираются в действиях при запуске):
- экспорт в Excel/LibreOffice calc/автовыбор при запуске базы
- кнопку на панель главной формы(экспорт активной формы)
- кнопку на панель всех запросов
- в контекстное меню всех форм
- в контекстное меню всех форм: выделенные строки
- в контекстное меню всех запросов
- в контекстное меню всех запросов: выделенные строки
- в контекстное меню всех сводных таблиц
- мультивыбор во всех формах
- мультивыбор во всех запросах
- текстовой формат в Excel для текстовых полей (строка 0001 будет экспортироваться 0001, а не 1)

в действиях формы:
- Форма - сделать мультивыбор
- Запросы формы - сделать мультивыбор (выбрать нужные запросы)

Если подключить модуль как внешний {$I kok80-ExportToExcel}, то можно использовать

Код: Выделить всё

procedure GridToExcel(sender:TObject)

в качестве sender понимает TdxForm, TdxQueryGrid, TdxSQLQuery, TdxPivotGrid.

Экспорт осуществляется через буфер обмена, если в буфере был текст-он восстанавливается после экспорта.


dxdb_icon Демо


kok80-ExportToExcel 3.1 Изображение Скачать

Теги:

kok80
Эксперт
Сообщения: 434
Зарегистрирован: 02 июл 2018, 21:45
Благодарил (а): 5 раз
Поблагодарили: 64 раза

kok80-ExportToExcel (LibreOffice calc)

Сообщение kok80 » 17 авг 2021, 18:27

в каком виде копировать в буфер обмена?
Экспорт и так идет через него, но если в буфере был текст - он восстанавливается.

al.kn
Эксперт
Сообщения: 1131
Зарегистрирован: 17 май 2020, 13:18
Благодарил (а): 57 раз
Поблагодарили: 106 раз

kok80-ExportToExcel (LibreOffice calc)

Сообщение al.kn » 17 авг 2021, 20:13

наверное он хочет, чтобы буфер не очищался

Код: Выделить всё

  // восстанавливаем буфер
  Clipboard.AsText:=OldText;

, и для этого была отдельная запись в контекстном меню "копировать в буфер" без экспорта в эксель

ip-talker
Интересующийся
Сообщения: 61
Зарегистрирован: 03 авг 2021, 09:31
Благодарил (а): 13 раз
Поблагодарили: 12 раз

kok80-ExportToExcel (LibreOffice calc)

Сообщение ip-talker » 17 авг 2021, 23:46

Совершенно верно, таким образом появится возможность либо экспортировать в Эксель, как сейчас, либо просто скопировать в буфер без открытия экселя . Это необходимо для копирования выделенного блока в уже открытый файл экселя. Кстати, можно и вторую кнопку на панель , тут уж как проще прописать.

al.kn
Эксперт
Сообщения: 1131
Зарегистрирован: 17 май 2020, 13:18
Благодарил (а): 57 раз
Поблагодарили: 106 раз

kok80-ExportToExcel (LibreOffice calc)

Сообщение al.kn » 18 авг 2021, 07:23

ip-talker писал(а):тут уж как проще прописать.

Проще закоментировать восстановление буфера, эксель в фоне откроется, но больше ничего переделывать не придется

ip-talker
Интересующийся
Сообщения: 61
Зарегистрирован: 03 авг 2021, 09:31
Благодарил (а): 13 раз
Поблагодарили: 12 раз

kok80-ExportToExcel (LibreOffice calc)

Сообщение ip-talker » 18 авг 2021, 22:37

Согласен, донное решение имеет место быть. Но, открывающийся на заднем плане эксель портит картину.

kok80
Эксперт
Сообщения: 434
Зарегистрирован: 02 июл 2018, 21:45
Благодарил (а): 5 раз
Поблагодарили: 64 раза

kok80-ExportToExcel (LibreOffice calc)

Сообщение kok80 » 20 авг 2021, 12:43

сделаю на досуге

cordek
Специалист
Сообщения: 948
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 227 раз
Поблагодарили: 111 раз

kok80-ExportToExcel (LibreOffice calc)

Сообщение cordek » 22 окт 2021, 16:06

А можно сделать сразу две кнопки экспорта и в Эксель и в либре офис?

Morozbl4
Знаток
Сообщения: 639
Зарегистрирован: 04 дек 2019, 11:04
Благодарил (а): 215 раз
Поблагодарили: 59 раз

kok80-ExportToExcel (LibreOffice calc)

Сообщение Morozbl4 » 26 май 2022, 13:01

Почему в LibreOffice выгружает со смещением в 3 столбца и 14 строк? Пустые строки и столбцы слева и сверху, по факту таблица заполняется не с А1, а с D15. Данный баг происходит со всем запросами базы.
Причем ширина ячеек правильная с А1 согласно размерам в запросе.

Я так понимаю нужно обозначить ему отдельно с какой ячейки начинать вставку по типу

Код: Выделить всё

args3(0).Name = “ToPoint”
args3(0).Value = “$A$1”
dispatcher.executeDispatch(document, “.uno:GoToCell”, ““, 0, args3())

но не понимаю как это сделать в скрипте. Попробовал в лоб - база вылетает.

Morozbl4
Знаток
Сообщения: 639
Зарегистрирован: 04 дек 2019, 11:04
Благодарил (а): 215 раз
Поблагодарили: 59 раз

kok80-ExportToExcel (LibreOffice calc)

Сообщение Morozbl4 » 26 май 2022, 14:16

Угу. Проблема была у меня в шаблоне по умолчанию. Сохраненная позиция ячейки была как раз D15


Вернуться в «Расширения и плагины (разработка и обсуждение)»