On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Пост N: 3298
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.07.13 16:27. Заголовок: TXT TO XLS


Возможно ли средствами Harbour перегнать файл из формата TXT в EXCEL ?
В TXT файлике накладная.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 4 [только новые]


постоянный участник




Пост N: 2902
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.07.13 16:43. Заголовок: Наверно нужно постро..


Наверно нужно построчно обрабатывать и кидать на форму XLS....
Или сделать готовый файл-форму на XLS и записывать из текстового файла суммы и нужные строки ....

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3299
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.07.13 16:54. Заголовок: Andrey Мысль с шабл..


Andrey
Мысль с шаблоном XLS была , но хочется обойтись малой кровью ;)
Есть клиенты в программе после проведения накладной на которого , необходимо
сбрасывать ему на электронку накладную в формате XLS (аналог накладной что вылазит на печать)


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 78
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.07.13 17:41. Заголовок: Придется переформатироватьв Excele


Dima пишет:

 цитата:
Возможно ли средствами Harbour перегнать файл из формата TXT в EXCEL ?



Можно конечно, но если к текстовике есть псевдографика - придется ее убивать , а форму в Экселе форматировать.
1. Через OLE (с шаблоном или нет ) все делается хорошо, но OLE - тормознутый механизм.
2. Можно ускорить с шаблоном , если Эксель шаблон сохранить не в XLS(X) , а в XML - .т.к. это текстовик, строковые операции его потрошат быстро.

Через XML когда-то рисовал шапку отчеты- шапка из шаблона, а тело генерил строковыми операциями. Потом что получалось открывал Экселем и на печать. Выигрыш на длинных таблицах даже не в разы, а на порядки ))
Короткую накладную проще через OLE.

PS. Лучше не заниматься переводом TXT в XLS, а сразу писать XLS данными из базы.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3300
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.07.13 17:46. Заголовок: Andrey пишет: Навер..


Andrey пишет:

 цитата:
Наверно нужно построчно обрабатывать и кидать на форму XLS.


Так и сделал , все получилось.

Haz
Спасибо за идею !

Накидал тестовый пример.
 
proc main
local st
local oWorkBook
local osheet
local osheets
local i:=1

private oExcel
REQUEST HB_LANG_RU866
HB_LANGSELECT("RU866")
REQUEST HB_CODEPAGE_RU1251
hb_cdpSelect( "RU1251" )
if !Start_Excel()
return
endif
oExcel:Visible := .f.
oExcel:DisplayAlerts:=.f.
oWorkBook := oExcel:WorkBooks:Add()
oSheet := oExcel:ActiveSheet()

oSheet:Cells:Font:Name :="Lucida Console"
oSheet:Cells:Font:Size :=10


if hb_fuse("oleg.doc")#-1
do while !hb_feof()
st:=Hb_oemtoansi(hb_freadln())
oSheet:Cells( i, 1 ):Value :=st
i++
hb_fskip()
enddo
Hb_fuse()

endif
oWorkBook:saveas(hb_CurDrive()+":\"+CurDir()+"\nakl.xls")
oWorkBook:close(.f.,,.f.)
oExcel:Quit()
oWorkBook:=nil
oSheet:=nil
oExcel:=nil

return

func Start_Excel()
Local Res:=.f.
#ifndef __XHARBOUR__
#xcommand TRY => BEGIN SEQUENCE WITH {|e| Break( e )}
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->
#endif

TRY
oExcel := GetActiveObject( "Excel.Application" )
oExcel:DisplayAlerts:=.f.
Res:=.t.

CATCH
Res:=.f.
TRY
oExcel := CreateObject( "Excel.Application" )
Res:=.t.
CATCH
Res:=.f.
END
END
Return Res



Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 23
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет