CftClub.ru
Клуб специалистов ЦФТ-Банк

прочитать результат формулы XL или дооформление ячеек

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
kaa
Участник - экстремал


Вступление в Клуб: 20.01.2020
СообщениеПт Май 31, 2024 11:04   прочитать результат формулы XL или дооформление ячеек Ответить с цитатой
Полезность: Нет оценки
вставляю через OOXML формулы, а потом уже нужно прочитать результат и в зависимости от значений раскрасить

средствами OOXML не получится, надо видимо как то подрубать OLE
как открыть сформированный XLSX и прочитать значения можно ли?
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеПт Май 31, 2024 14:06    Ответить с цитатой
Полезность: Нет оценки
А в размеченный шаблон не получается писать?
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеПн Июн 03, 2024 02:27    Ответить с цитатой
Полезность: Нет оценки
Правильно ли я понимаю ваш вопрос: вы написали в EXCEL формулу, и хотите получить результат, рассчитанный по этой формуле?

1. Лучше сами посчитайте и потом в ячейки запишите результат. Целее будет.

2. А так, попробуйте через getSheetRowColFormula зайти. Я не пробовал, но по описанию похоже. Она два параметра возвращает: формулу и, вроде как, ее результат.
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеПн Июн 03, 2024 05:55    Ответить с цитатой
Полезность: Нет оценки
Вообще не очень понятно, как можно получить результат формулы из файла, ведь в файле есть только сама формула, а вычисления производит уже только Excel, когда открывает файл.
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеПн Июн 03, 2024 06:51    Ответить с цитатой
Полезность: 2
Я тоже хотел то же самое написать, но потом сначала нашел инфу, как это через OLE сделать, а потом эту функцию.
С OLE есть ограничение - это больше не поддерживаемый официально функционал. Так что если с функцией не выгорит, то дальше все работает в точности, как коллега Эмиралька сказала: считает не файл - считает программный комплекс (Excel в нашем случае).

ЗЫ. По опыту - лучше всякие формулы, итоги и прочее считать самостоятельно. Это просто потом лучше работает. Да, это более муторно. Я для этого обычно отдельный record объявляю чтобы подбивать итоги там и т.п. Но это окупается большей надежностью.
ЗЫЫ
Если эта функция работает так, как я предполагаю она может, то вам надо будет сначала полностью заполнить весь EXCEL, получить полностью готовый документ. И только потом его проверять этой функцией.
Причем с большой долей вероятности, надо дойти до этапа finish, получить финальный блоб, а потом его прочитать, как бы с нуля. Т.е. фактически open заново выполнить. Возможно оно так сработает.
(Но, как уже много раз говорил, а стоят ли труда эти страдания? Разве что на интерес)
kaa
Участник - экстремал


Вступление в Клуб: 20.01.2020
СообщениеВт Июн 04, 2024 16:42    Ответить с цитатой
Полезность: Нет оценки
да свои итоги считаю в цфт, икселем хотят проверять

и да - getSheetRowColFormula результат выдает пустой ((
не считает

чот не найду ни одного нормального примера откуда списать работу через OLE
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеЧт Июн 06, 2024 01:52    Ответить с цитатой
Полезность: Нет оценки
Так, про OLE, если вы все-таки хотите туда...

Вот вам наводка на классы:
Application.WorksheetFunction.Match

Вот ссылка для старта поиска информации
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=50960

Так или иначе, но все упрется в WorksheetFunction.Match.
Только это не получить результат функции из колонки, а немного сложнее: это выполнить указанную мат. функцию.

---

И я все-таки рекомендую таким не страдать, а просто посчитать самому и выводить результаты, а не функции.
kaa
Участник - экстремал


Вступление в Клуб: 20.01.2020
СообщениеЧт Июн 06, 2024 20:05    Ответить с цитатой
Полезность: Нет оценки
спасибо, придется

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


Вступление в Клуб: 09.11.2015
СообщениеПт Июн 07, 2024 05:48    Ответить с цитатой
Полезность: Нет оценки
kaa пишет:
спасибо, придется

но в рсбанк у меня такое получалось - формировал файл ooxml, и открывал его excel-ем и брал значение ячейки


Ну правильно. Открывали Excel, он считал вам формулы. И вы брали результат.
А тут вы хотите обойтись без Excel.

Если вы позволите аналогию, можно рассмотреть такую ситуацию. Вот вы купили продукты, пришли домой и хотите борщ. И раньше, когда вы жили с родителями, это срабатывало, борщ появлялся в кастрюле как бы сам по себе, а теперь, когда живёте один - нет. И теперь, чтобы борщ появился, вам самому надо его посчитать.
Ldir
Участник


Вступление в Клуб: 24.01.2009
СообщениеВт Июн 11, 2024 12:03    Ответить с цитатой
Полезность: Нет оценки
Формулы бывает нужны, когда после вывода в Excel пользователь будет продолжать редактировать файл. Тогда все итоги будут корректными.
Возможно стоит покопать в сторну VBA for Excel. Заложит в шаблон макросы.
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеЧт Июн 13, 2024 20:00    Ответить с цитатой
Полезность: Нет оценки
Ldir пишет:
Формулы бывает нужны, когда после вывода в Excel пользователь будет продолжать редактировать файл. Тогда все итоги будут корректными.
Возможно стоит покопать в сторну VBA for Excel. Заложит в шаблон макросы.

Ну, пользуйтесь RUNTIME.EXcel.
Но имхо без толку это. ЦФТ web-навигатор продвигает, там vb не работает.
И microsoft от VBA отказалась...
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах