Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398

Применение формулы при выгрузке в Excel

21.11.2017, 20:27. Показов 1682. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть столбцы H,I,J.
после того как string получена и результат лежит в dt, перед помещением данных в Excel, нужно применить формулу.
vba через макрос ее пишет так:
Visual Basic
1
2
Range("B1").Select
ActiveCell.FormulaR1C1 = "=text(R[-1] /1440, ""чч:мм:сс"")"
как применить данную формулы для всего столбца, причем только для рабочей области, а не заполнить данный столбец до конца.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2017, 20:27
Ответы с готовыми решениями:

Формулы в excel при выгрузке из datagridview
В datagridview есть данные, нужно посчитать их сумму. Выгружаю его в Excel. Формулу написать в сами ячейки datagridview до выгрузки или...

При выгрузке в Excel закрываются другие документы Excel
Доброго времени суток Уважаемые.. Имеется у меня код Private Sub Выгрузка_Click() sPatchtDir =...

Ошибка при выгрузке в Excel
Здравствуйте. Использую код в данной теме для выгрузки в Эксель Private Sub Îò÷åò_Click() Dim qdf As QueryDef, db As DAO.Database ...

7
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
21.11.2017, 23:55
1. Можно вас попросить написать формулу в формате А1, а не R1C1, ,как у вас?
2. В какой столбец необходимо вставить эту формулу?
0
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
22.11.2017, 00:06  [ТС]
Pavel55, во все столбцы H.I.J
Формула для ячейеи А1 = текст(А1/1440;"чч:мм:сс")
0
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
22.11.2017, 14:21
studentrm, приблизительно так

C#
1
xlSht.Range["H2:J" + iLastRow].FormulaLocal = @"=ТЕКСТ($A2 / 1440; ""чч:мм:сс"")";
весь код

C#
1
2
3
4
5
6
7
8
9
10
11
12
Excel.Application xlApp = new Excel.Application(); //Excel
Excel.Workbook xlWB; //рабочая книга              
Excel.Worksheet xlSht; //лист Excel            
 
xlWB = xlApp.Workbooks.Open(@"C:\C#\Test Excel.xlsx"); //название файла Excel                                             
xlSht = xlWB.Worksheets["Лист1"]; //название листа или 1-й лист в книге xlSht = xlWB.Worksheets[1];
 
int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row;  //последняя заполненная строка в столбце А
xlSht.Range["H2:J" + iLastRow].FormulaLocal = @"=ТЕКСТ($A2 / 1440; ""чч:мм:сс"")"; //если нужно с 1-й строки, то замените 2 на 1 и в формуле и в адресе диапазона
xlApp.Visible = true; //отображаем Excel     
//xlWB.Close(true); //закрываем книгу, изменения сохраняем. false - не сохраняем изменения
//xlApp.Quit(); //закрываем Excel
0
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
22.11.2017, 14:39  [ТС]
Pavel55, а почему @"=ТЕКСТ($A2 / 1440; ""чч:мм:сс"")
А2..начало? или формула считается по значения ячейки с А2

Добавлено через 6 минут
Pavel55, а если мне данные алгоритм нужно применить после того как я положу данные в excel файл
0
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
22.11.2017, 16:25
studentrm,

Цитата Сообщение от studentrm Посмотреть сообщение
а почему @"=ТЕКСТ($A2 / 1440; ""чч:мм:сс"")
А2 - это начальная ячейка для вставки формулы. Хотите измените на А1

Цитата Сообщение от studentrm Посмотреть сообщение
а если мне данные алгоритм нужно применить после того как я положу данные в excel файл
Эту вставку формул как раз и нужно применять после того, как у вас появились данные на листе (конкретно в столбце А)
0
6 / 6 / 1
Регистрация: 13.12.2015
Сообщений: 398
22.11.2017, 16:56  [ТС]
Pavel55, ничего не происходит.
у меня в столбце h i j есть уже данные.
в таким виде 1,7
именни эти столбцы нужно преобразовать по формуле

Добавлено через 14 минут
Pavel55, немного понял. ошибка (0x800A03EC) Исключение из HRESULT. В данных не только 1,7 но есть пустоты и числа с минусом -1,7
0
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
22.11.2017, 18:07
studentrm,

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

C#
1
xlSht.Range["H2:J" + iLastRow].FormulaLocal = @"=ТЕКСТ($A2 / 1440; ""чч:мм:сс"")";
а дальше с вашим -1,7 - я вам уже не помогу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2017, 18:07
Помогаю со студенческими работами здесь

Ошибка при выгрузке данных в Excel
Ребят, подскажи в чем ошибка. Выгружается только одна запись из запроса, хотя должно быть 5 строк. Выгружается только шапка и одна строка....

Ошибка при выгрузке в Excel 2010 из 1С
Добрый день, возникает ошибка при выгрузке в Excel 2010. (во вложении) У документа есть несколько макетов. Один из макетов не...

Некорректное отображение кириллицы при выгрузке в Excel
Кто сталкивался с проблемой с использованием библиотеки PHPExel. После выгрузки документа из PHP в exel не пишутся русские буква кодировки...

Не меняется ширина столбца при выгрузке в Excel
При выгрузке в Excel не меняется ширина столбца, хотя код прописал верный: Worksheet.Columns.Range.ColumnWidth := 30; Высота...

Не устанавливается процентный формат при выгрузке в Excel
Здравствуйте. в собственной конфигурации есть обработка, из ТЧ которой необходимо выгрузить данные в Excel. В ТЧ есть реквизиты с числовыми...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru