powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / там где null, выводился 0.00000 + excel
9 сообщений из 9, страница 1 из 1
там где null, выводился 0.00000 + excel
    #35240984
Фотография FasterHarder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
I started in 1983, in 2008 i still on a case!

Всем программистам привет! Respect! Помогите решить проблему: в общем есть табла .dbf, в одном из полей присутствуют значения null, как мне правильно вывести это в отчет excel, чтобы там где null, выводился 0.00000? Я делаю как то так:
Код: plaintext
m.loSheet.Cells(lnRow,  6 ).Value = IIF(ISNULL(curse),  0 . 00000 , curse)	
и получаю голый 0, если в ячейке .dbf значение null. Подскажите как быть то?
m.loSheet.Rows(n).NumberFormat = "@" - не помог, а может неправильно его заюзал.

И еще один вопрос по excel - ю. Как вывести в таком формате(см. прил. файл. верхний рис. правильный, а нижний(как я сделал) нет, т к сьезжает влево)
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35241353
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FasterHarder
Код: plaintext
I started in 1983, in 2008 i still on a case!

Всем программистам привет! Respect! Помогите решить проблему: в общем есть табла .dbf, в одном из полей присутствуют значения null, как мне правильно вывести это в отчет excel, чтобы там где null, выводился 0.00000? Я делаю как то так:
Код: plaintext
m.loSheet.Cells(lnRow,  6 ).Value = IIF(ISNULL(curse),  0 . 00000 , curse)	

Формат хранения NumberVar не обещал, что сохранит столько нулей после запятой, сколько ты в него записал. Формат отображения General так же не обещал, что будет показывать нули какие-то после запятой.

Selection.NumberFormat = "#,##0.00000"
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35241360
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо IIF(ISNULL(curse), 0.00000, curse)
логичнее
NVL(curse, 0.00000)



Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35242877
Фотография FasterHarder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
I started in 1983, in 2008 i still on a case!

NVL не помог, опять выводятся "голые" нули. А по поводу numberFormat сделал чуток не так, но вроде работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
LOCAL lnRow
lnRow =  7 
SCAN 
	m.loSheet.Cells(lnRow,  1 ).Value = DTOC(date)
	m.loSheet.Cells(lnRow,  2 ).Value = val
	m.loSheet.Cells(lnRow,  3 ).Value = name
	m.loSheet.Cells(lnRow,  4 ).Value = scale
	m.loSheet.Cells(lnRow,  5 ).NumberFormat = "#,##0.00000"	
	m.loSheet.Cells(lnRow,  5 ).Value = kurs			
	m.loSheet.Cells(lnRow,  6 ).NumberFormat = "#,##0.00000"
	m.loSheet.Cells(lnRow,  6 ).Value = IIF(ISNULL(curse),  0 . 00000 , curse)	
	m.loSheet.Cells(lnRow,  7 ).Value = rav	
	lnRow = lnRow +  1 	
ENDSCAN 
loExcel.Visible = .T. 
как сделать с selection незнаю.

Как вывести в таком формате(см. прил. файл) слова "КУрсы валют" как бы по центру двух ячеек(C - D)? Подскажите как быть то?
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35242940
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Самое простое - добавить пробелы
2. Посложнее - отформатировать ячейку C4 по левому краю с отступом
3. Самое сложное - объеденить ячейки C4:D4 и отцентрировать текст
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35243004
Фотография FasterHarder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
I started in 1983, in 2008 i still on a case!

вот, я тоже подумал, что нужно объединить две ячейки и отцентровать. Центрирование вроде знаю как, а вот как объединить(вроде как то через merge), но как? В хелпе про это вообще ничего не нашел. Подскажите как быть то(желательно строкой кода :)_)?

P.S. спасибо AleksMed и Kruchinin Pahanа, что помогаете.
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35243051
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
LOCAL loXls as Excel.Application, loBook as Excel.Workbook, loSheet as Excel.Worksheet

#DEFINE xlCenter	- 4108 

loXls = CREATEOBJECT("Excel.Application")
loXls.Visible = .T.
loBook = loXls.Workbooks.Add()
loSheet = loBook.Worksheets( 1 )

loSheet.Range("C4:D4").Merge()
loSheet.Range("C4").HorizontalAlignment = xlCenter
loSheet.Range("C4").Value="КУРСЫ ВАЛЮТ"
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35243073
Фотография FasterHarder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
I started in 1983, in 2008 i still on a case!

thank's огромный AleksMed, теперь все как нужно. Respect.
...
Рейтинг: 0 / 0
там где null, выводился 0.00000 + excel
    #35244200
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> NVL не помог, опять выводятся "голые" нули. А по поводу numberFormat
> сделал чуток не так, но вроде работает:

А кто тебе сказал, что он тебе отформатирует ВИДИМЫЙ результат в EXCEL????

Во первых IIF(ISNULL(curse), 0.00000, curse) менее читабельно, чем NVL, во
вторых выполняется больше операций -> меделенее чем NVL.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / там где null, выводился 0.00000 + excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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