powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Excel Range.Value := ArrayData вставка массива с формулами
8 сообщений из 8, страница 1 из 1
Excel Range.Value := ArrayData вставка массива с формулами
    #40068951
SergeyKNP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
для ускорения выгрузки данных в Excel пользуюсь следующим механизмом:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
            // Левая верхняя ячейка области, в которую будем выводить данные
            Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];
            // Правая нижняя ячейка области, в которую будем выводить данные
            Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + RowCount - 1, BeginCol + ColCount - 1];

            // Область, в которую будем выводить данные
            Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];
            Range.Value := ArrayData;



все работает прекрасно до тех пор пока не появилась необходимость вставить в массив формулу, например
'=ЕСЛИ(СЧЁТЕСЛИ(I$5:I8;I8)=1;МАКС($A$1:A7)+1;"")';

то при выгрузке получаю AV

помогите победить.
Заранее благодарен.

Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
...
Рейтинг: 0 / 0
Excel Range.Value := ArrayData вставка массива с формулами
    #40068981
Фотография Virtual Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyKNP,
Попробуй формулу с английскими заменителями (ЕСЛИ = IF и т.д...) функций вставить.
...
Рейтинг: 0 / 0
Excel Range.Value := ArrayData вставка массива с формулами
    #40068982
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
за два захода.
сперва данные, потом формулы
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Excel Range.Value := ArrayData вставка массива с формулами
    #40068997
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyKNP,
Забивай формулы в самом экселе.
Лучше макросом.
...
Рейтинг: 0 / 0
Excel Range.Value := ArrayData вставка массива с формулами
    #40069019
SergeyKNP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Virtual Student,

поменял на английский аналог - не помогло
...
Рейтинг: 0 / 0
Excel Range.Value := ArrayData вставка массива с формулами
    #40069029
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyKNP,

У тебя данных еще нет. Смотри совет от Мимопроходящего.
...
Рейтинг: 0 / 0
Excel Range.Value := ArrayData вставка массива с формулами
    #40069490
SergeyKNP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем откликнувшимся,

проблема была:
1.Ошибка в коде (странно только, что без вставки формулы ошибка AV не проявлялась)
2.Заменил русскоязычное написание формул на англицкую

...всё вставилось прекрасно.

Извиняюсь за беспокойство
...
Рейтинг: 0 / 0
Excel Range.Value := ArrayData вставка массива с формулами
    #40069645
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyKNP,

а как вы работаете с Excel, через сервера автоматизации. у вас Excel должен быть установлен. а если его на компьютере не будет, то работать ваш код не будет.

найдите компонент старый F1Book.ocx - ActiveX, это конечно только Excel2003, или вырезанный из ДЕВок ExcelSpreedSheet, где то видел я его на китайских сайтах.
храните только данные, формулы вставьте в Excel файл
в настройках страницы Excel в которой будете отражать все, поставьте Опцию двойной проход.
данные из базы или откуда то в Excel и обратно рекомендую грузить через OLEVARIANT массив, т.е. сначала в память, а потом одним плевком в страницу (не циклом, цикл - тормоз), формулы сработают сами.

до 2017 года я работал с F1Book, все задачи он закрывал.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Excel Range.Value := ArrayData вставка массива с формулами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]