Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

excel


Delphist2 ©   (2010-05-19 11:13:00) 

Есть excel файл с суммами. В нем в ячейках сумма записывается в виде "1500р." (без кавычек), при этом в формульной строке у этой же ячейки "р." на конце нет, просто 1500. Как работать с такой ячейкой, если мне надо пересчитать сумму?

s:=floattostr(sum);
XL.WorkBooks[1].WorkSheets[1].Cells[i,j].formula:=s;
s:=s+'р.';
XL.WorkBooks[1].WorkSheets[1].Cells[i,j]:=s;

везде оказывается "р.", и в формуле тоже.

А если менять только ячейку:
s:=floattostr(sum);
XL.WorkBooks[1].WorkSheets[1].Cells[i,j]:=s;

то в формулах "р." нет, зато в ячейках где-то с "р.", а где-то без (при том что обрабатывались все ячейки).


Игорь Шевченко   (2010-05-19 17:10:00) [1]


> то возникает исключение "Нельзя установить свойство NumberFormat
> класса Range"


http://www.delphikingdom.com/asp/viewitem.asp?catalogid=924


Delphist2   (2010-05-19 16:46:00) [2]

Ну там текстовый формат используется. Мне надо сменить на денежный а возникает исключение.


Плохиш   (2010-05-19 14:45:00) [3]

http://www.swissdelphicenter.ch/de/showcode.php?id=379


Delphist2   (2010-05-19 13:36:00) [4]

Причем если менять формат ячейки
XL.Selection.NumberFormat  := '#,##0.00р.';
то возникает исключение "Нельзя установить свойство NumberFormat класса Range"


Delphist2   (2010-05-19 12:56:00) [5]

А вот еще проблемка. Округление само собой происходит в ячейке:
s:=floattostr(sum);
s:=s+'р.'; //s=200,5р.
XL.WorkBooks[1].WorkSheets[1].Cells[i,j].value:=s; //а в excel в этой ячейке 201р.
XL.WorkBooks[1].WorkSheets[1].Cells[i,j].formula:=sum;


Delphist2   (2010-05-19 11:42:00) [6]

спасибо, работает


Плохиш   (2010-05-19 11:28:00) [7]

Использовать
 XL.WorkBooks[1].WorkSheets[1].Cells[i,j] .Value
?


Наверх

Титульная страница Поиск, карта сайта Написать письмо