Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/42: Рейтинг темы: голосов - 42, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 10.10.2011
Сообщений: 6

Работа с формулами в MS Excel

11.10.2011, 00:30. Показов 7991. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Работая над международным студенчским проектом, мне пришлось столкнуться с задачей вывода формул из C# в лист Excel (формировании строки формулы производится в C#). Но поскольку проект международный, то, понятное дело, нельзя использовать наши формулы СУММ, ЕСЛИ и т.д. в то же время необходимо, чтобы и наш Excel понимал, что написано в строке формул. С VBA все гораздо проще там можно использовать английские названия функцмй - и Excel их прекрасно интерпретирует, напрпимер:
Visual Basic
1
ActiveCell.FormulaR1C1 = "=SUMIF(R[-18]C:R[-4]C," """""",R[-18]C[1]:R[-4]C[1])"
В C# при использовании тех же объектов Excel:
C#
1
2
3
oRng = oSheet.get_Range("I21","I21");       
oRng.Select();
oXL.ActiveCell.Formula = "=SUM(R[-10]C:R[-1]C)";
интерпретируются только ссылки на ячейки, а сама формула, работающая в VBA, не распознается.
Вариант с использованием русских формул не проходит:
1)если я формирую лист на своей машине с русским Office, то все работает и даже если я открываю файл на компьтере с иной языковой поддержкой MS Office.
2)В то же время, если запустить прогу на машине без руссифицированного Office, то сформировавшиеся в Excel-файле формулы не распознаются даже у меня (хотя и отображаются в ячейках на русском).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.10.2011, 00:30
Ответы с готовыми решениями:

Работа с формулами
Вечер добрый) Сщуествуют ли библиотеки для работы с формулами? Т.е. есть строка "4*5+1-(45+45)", нужно проверить правильность...

Работа с таблицами и формулами Word
Здравствуйте, помогите пожалуйста с работой таблицами и формулами в Word

Работа с документами Excel без Microsoft.Office.Interop.Excel
всем добрый день все дело в том что для своих программ я использую БД Excel но! однако не все устанавливают на компьютере Office, да и...

6
Messir
11.10.2011, 00:41
Уже не так давно поднимался этот вопрос - поищи...

З.Ы. Честное слово - я так и не нашел, как же заставить этого негодяя Ексела понимать формулы в едином стандарте...

З.З.Ы. Можно сколько угодно кричать, что "надо писать английские названия - и все будет работать везде", и по справке это действительно так (для написания функций в региональном стандарте служит, по идее, свойство FormulaLocal). Но тем не менее это _не работает_!
0 / 0 / 0
Регистрация: 10.10.2011
Сообщений: 6
16.10.2011, 21:45  [ТС]
Перепробовал кучу способов, но ни один так и не заработал - ,действительно, негодяй Excel.
Что решил сделать: узнавать версию Excel''я и в зависимости от языка версии заполнять ячейку ссответствующей формулой. Тройная работа, но благо синтаксис функций в разных языковых версиях остается одинаковым.
Кто-нибудь, знает, такой метод объекта Application, позволяющий выяснить версию соответствующего вызываемого приложения.
Заранее спасибо за помощь.
0
Messir
17.10.2011, 01:25
Цитата Сообщение от yuroops
Кто-нибудь, знает, такой метод объекта Application, позволяющий выяснить версию соответствующего вызываемого приложения.
очевидно, как-то так: http://msdn.microsoft.com/libr... 250883.asp
0 / 0 / 0
Регистрация: 10.10.2011
Сообщений: 6
17.10.2011, 14:33  [ТС]
@Messir
Огромное спасибо теперь проблема решена, хотя бы таким образом
0
0 / 0 / 0
Регистрация: 10.10.2011
Сообщений: 6
17.10.2011, 19:30  [ТС]
Ксати, нашелся метод ввода формул в едином формате в Excel. Кому интересно - вот ссылка
http://blogs.msdn.com/eric_car... 29515.aspx Но, насколько я понял, пока еще интеграция .Net с офисом весьма громоздкая (тот же Visual Studio Tools for Office, входящий в Visual Studio 2005 beta)и по-прежнему уступает VB и тем более встроенному в офис VBA.
0
 Аватар для Midian
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,690
23.07.2015, 11:10
Подниму тему, кто-нибудь все-таки нашел способ решения данной проблемы? Очень актуальная тема, не нашел ничего по решению данной проблемы в гугле, поделитесь инфой, кто знает как решить сей подвох.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.07.2015, 11:10
Помогаю со студенческими работами здесь

Работа с Excel (нет доступа к пространству имен Excel)
Здравствуйте! У меня проблема в том, что я делаю все так как там, но выдает ошибку в строчках на слова Excel, например: ...

Excel - ячейки с формулами
Считываю в Variant массив область из Excela содержащую формулы (Array:=Range.Formula), после того как 'бросаю' ее обратно - формулы...

Экспорт Excel в DataGridView с формулами
Здравствуйте. Хотелось бы поинтересоваться ,можно ли реализовать мою идею. Хочу загружать в Datagridview excel файл. С этим все...

Как скопировать столбец с формулами в Excel ?
Подскажите,пож-ста,как скопировать столбец с формулами(переменные формул-ссылки на ячейки в Книге1) в Книге1 в такой же столбец в...

Дублирование строк с формулами в Excel 2007
Имеется .xlsx со структурой: в колонку А вставляются строки из какой-то бухгалтерской программы. колонки B-I содержат какие-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru