Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Применить формулу Excel на C# / 9 сообщений из 9, страница 1 из 1
10.11.2012, 11:20
    #38032767
aleksey_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
Добрый день. Прошу помощи.
Есть два столбца.
A 10
A 12
B 32
C 11
B 12
A 55
Мне нужно из C# получить третий столбец, который будет содержать формулу, которая вычисляет следующее: "если 1-й столбец равен А, то второй столбец умножить на 2, если B, то второй умножить на 3, если C, то второй умножить на 1.5". И формула должна примениться ко всему столбцу.
Как сформулировать эту формулу я знаю, а вот как записать её для C# и применить ко всему столбцу - хз. Помогите плиз...
Спасибо.
...
Рейтинг: 0 / 0
11.11.2012, 13:37
    #38033566
aleksey_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
аууу... никто не сталкивался?
...
Рейтинг: 0 / 0
11.11.2012, 15:30
    #38033625
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
aleksey_sqlДобрый день. Прошу помощи.
Есть два столбца.
A 10
A 12
B 32
C 11
B 12
A 55
Мне нужно из C# получить третий столбец, который будет содержать формулу, которая вычисляет следующее: "если 1-й столбец равен А, то второй столбец умножить на 2, если B, то второй умножить на 3, если C, то второй умножить на 1.5". И формула должна примениться ко всему столбцу.
Как сформулировать эту формулу я знаю, а вот как записать её для C# и применить ко всему столбцу - хз. Помогите плиз...
Спасибо.

следующее относится не только к этому вопросу, но и ко всем похожим:

1.начинаете запись макроса
2.делаете всё, что нужно сделать
3.заканчивает запись макроса
4.открываете созданый макрос
5.переписываете созданый код с VBA на С#
...
Рейтинг: 0 / 0
11.11.2012, 18:46
    #38033740
aleksey_sql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
pation,

сделал как вы сказали. макрос записал следующее:
ActiveCell.FormulaR1C1 = "=RC[-8]+1"
Selection.AutoFill Destination:=Range("M2:M25"), Type:=xlFillDefault
Range("M2:M25").Select

перевел это на C#:

xlApp.ActiveCell.Formula = "=E2+1"; //немного изменил формулу
xlApp.Selection.AutoFill(worksheet.Range["M2:M25"], XlAutoFillType.xlFillDefault);
worksheet.Range["E2:E5"].Select();

не работает. в ячейках M2-M25 - нули, хотя должны быть цифры.
...
Рейтинг: 0 / 0
12.11.2012, 09:27
    #38034089
Primus inter pares
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
Возможно надо пересчитать формулы
Код: c#
1.
worksheet.Calculate();
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
22.06.2015, 14:35
    #38989702
OKuz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
А как задать параметры эти Type:=xlFillDefault в Visual FoxPro?
Может, кто подсказать?
...
Рейтинг: 0 / 0
22.06.2015, 14:39
    #38989712
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
OKuz,
Думаю, что Вам стоит задать этот вопрос в соответствующей ветке форума по FoxPro.
...
Рейтинг: 0 / 0
22.06.2015, 14:40
    #38989713
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
0 поставь.
xlFillDefault = 0

Значения констант смотреть в редакторе VB экселя, правая кнопка мыши на константе и "QuickInfo"
...
Рейтинг: 0 / 0
23.06.2015, 16:45
    #38990873
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применить формулу Excel на C#
aleksey_sqlpation,

сделал как вы сказали. макрос записал следующее:
ActiveCell.FormulaR1C1 = "=RC[-8]+1"
Selection.AutoFill Destination:=Range("M2:M25"), Type:=xlFillDefault
Range("M2:M25").Select

перевел это на C#:

xlApp.ActiveCell.Formula = "=E2+1"; //немного изменил формулу
xlApp.Selection.AutoFill(worksheet.Range["M2:M25"], XlAutoFillType.xlFillDefault);
worksheet.Range["E2:E5"].Select();

не работает. в ячейках M2-M25 - нули, хотя должны быть цифры.

проблема, не в экцеле, а в голове
первоначальный алгоритм не совсем правильный, надо так:
1.начинаете запись макроса
2.делаете всё, что нужно сделать
3.заканчивает запись макроса
4.открываете созданый макрос
5.осмыслить полученное, понять что написано
56.переписываете созданый код с VBA на С# (с учётом п5)
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Применить формулу Excel на C# / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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