18 мар. 2019 г.

Чтение из MS Excel. Кто быстрее?


    При написании "Заполнение страницы MS Excel одной командой" я вспомнил про библиотеки работающие с файлом MS Excel "напрямую". Посмотрим, насколько чтение информации из MS Excel "напрямую" быстрее, чем при использовании OLE.
    Создадим файл с 1 000 000 строк по 5 столбцов и прочитаем его различными способами.

11 мар. 2019 г.

Заполнение листа MS Excel одной командой


 "А чё, так можно было, что ли?!?"
 © Уральские пельмени

    Недавно, правя баги в чужом проекте, я в методе генерации отчета в шаблон MS Excel обнаружил то, о чем сам никогда не задумывался... Среди сотни строк присвоения значений ячейкам, я заметил, что одна таблица из сотни ячеек копируется на лист MS Excel одной строкой...
    Алгоритм очень прост: создаем динамический двумерный вариантный массив, заполняем его значениями и присваиваем диапазону ячеек:

21 февр. 2019 г.

Автоподбор высоты строки MS Excel после объединения ячеек

    Шел 2019-й год... а MS Excel по-прежнему не научился рассчитывать высоту строки если в ней есть объединённые ячейки... И метод Range.AutoFit, который "Changes the height of the rows in the range to achieve the best fit", нас не спасёт.

Например, объединим ячейки A1 и B1 и поместим в них многострочный текст:
Var
  ea: TExcelApplication;
  ovRange: OleVariant;
begin
  ...
  ovRange := ea.Range['A1', 'B1'];
  ovRange.Merge;
  ovRange.Value := '1'#13#10'2'#13#10'3'#13#10'4'#13#10'5';
  ovRange.EntireRow.AutoFit;

28 нояб. 2017 г.

Oracle Streams и AQ_TM_PROCESSES

    Параметр Oracle AQ_TM_PROCESSES в очередях сообщений контролирует мониторинг времени и обработку сообщений с задержкой и заданным сроком действия. Он может принимать значение от 0 до 10. Установка параметра AQ_TM_PROCESSES в ноль отключает Queue Monitor Coordinator, что, как написано в документации Oracle, приведет к серьезным проблемам в работе Oracle Streams. Но даже значение отличное от нуля может привести к проблемам. У моего заказчика при AQ_TM_PROCESSES = 1 трейс-файлы начали "распухать" от сообщений "Streams AQ: waiting for messages in the queue".

19 нояб. 2015 г.

RAD Studio 10 Seattle Update 1

   Embarcadero Technologies выпустила первое обновление RAD Studio 10 Seattle. Оно исправляет несколько сотен ошибок, подробнее... В этой бочке мёда не обошлось без ложки дёгтя: это обновление только для владельцев RAD Studio 10 Seattle с лицензией "Update Subscription" (в менеджере лицензий в описании лицензии должен быть пункт "Is Subscription"). Таким образом, остальные покупатели RAD Studio 10 - в пролете, и после установки этого обновления будут вынуждены поставить старую версию.

Delphi 10 Seattle Web Install (includes Update 1)
C++Builder 10 Seattle Web Install (includes Update 1)
RAD Studio 10 Seattle Web Install (includes Update 1)