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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.09.05 14:58. Заголовок: Report from Clipper to Excel


Есть Clipper-ный отчёт с упрощенной (для внутреннего употребления) шапкой, который Clipper автоматом перегоняет в Excel. Но налоговая хочет еметь его с очень навороченной шапкой ( http://webfile.ru/533208 ).
На скорую руку склепал генерацию .html файла в стиле Excel. Работает, но прога внутри выглядит жутко, да и неудобно это клепать.
Вопрос: как к этой шапке по-эллегантнее подгрузить данные из отчёта ( путём генерации из Clipper-а какого-либо скрипта и его запуска ).

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 44 , стр: 1 2 3 All [только новые]





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.09.05 15:33. Заголовок: Re:


1. можно написать в excel'е на VBA скрипт (функцию), которая загрузит данные из dbf и расставит их в нужные клетки страницы листа экселя.. или можно этот же скрипт написать vb-script (*.vbs): открыть лист, открыть dbf-таблицу, и в цикле по таблице отобрать нужные записи.. единственная проблема -- в VBA (jet ole db) криво работают индексы (я пример выложил в webfile.ru/533312)

2. можно изпользовать мою халявную прогу rec3p.exe: в программе на клиппере далаешь отчёт в текстовый файл с использованием псевдографики, табуляции, всяких межстрочных интервалов и узких шрифтов -- и вызываешь rec3p с именем файла твоего отчёта. правда, в этом случае отчёт будет распечатан, а не сохранён в эксель..

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 23.09.05 09:08. Заголовок: Re:


_sergey пишет:
цитата
можно этот же скрипт написать vb-script (*.vbs): открыть лист, открыть dbf-таблицу, и в цикле по таблице отобрать нужные записи..

Спасибо за примеры. Это то что мне и надо. Если не влом - подскажи, где взять нормальное описание объекта "Excel.Application". Просмотрел кучу док - все мура. Т.к. это офтопик - давай в мыло les@azovmash.com или ICQ (149-152-548).


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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 23.09.05 17:12. Заголовок: Re:


самое простое -- запускаешь word или excel, жмёшь alt+F11 (редактор VBA), ctrl+r, enter, пишешь название объекта, жмёшь F1. если помощь для VBA установлена (выбирается при установке офиса), то откроется то, что надо. можно ещё в MSDN опискать, или на сайте microsoft.com в разделе MSDN (должен быт такой)

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.09.05 10:29. Заголовок: Re:


_sergey пишет:
цитата
самое простое -- запускаешь word или excel, жмёшь alt+F11 (редактор VBA), ctrl+r, enter, пишешь название объекта, жмёшь F1.

Спасибо.
Я ведь спрашивал про НОРМАЛЬНОЕ описание.
Вопрос решен. Никому не советую идти путем *.vbs.
Clipper это делает примерно в 50 раз быстрее.

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.09.05 17:16. Заголовок: Re:


там (в справке VBA в excel) "родное" описание, чего такого в нём ненормального?

цитата
Вопрос решен. Никому не советую идти путем *.vbs.
Clipper это делает примерно в 50 раз быстрее.


VBA (да и вообще OLE) вставляет ячейки в страницу excel'я действительно медленно, хотя есть разные способы для ускорения, например, отключить прорисовку листа.. Интересно, как ты из прогарммы на клиппере создаёшь лист эекселя? я знаю только о создания файлов excel'я формата BIF, обычной записью бинарный данных в файл (хоть из клиппера, хотя пример я видел на паскале), но ведь тебе

les пишет:
цитата
Но налоговая хочет еметь его с очень навороченной шапкой


так что, кроме как открыть лист через OLE (или DDE, или прямой доступ к формату BIF) и изменять его содержимое -- что-то не вижу

можно ещё так поступить! заполнить буфер обмена данными (разделитель между элементами в одной строке -- табуляция, разделитель между строками -- перевод строки (chr(13)+chr(10)) ), а затем вставить всё это в нужную ячейку.. данные "правильно" распределятся по ячейкам листа! (только что пробовал). так что можно на VBA, например, считать файл, выгруженный предварительно clipper'ом, скопировать его в буфер обмена, а потом вставить в лист.


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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.09.05 10:09. Заголовок: Re:


_sergey пишет:
цитата
Интересно, как ты из прогарммы на клиппере создаёшь лист эекселя?

нарисовал шапку руками, довавил строку с данными, отформатировал, сохранил в формате *.html, из Clipper-а по образу и подобию дописываю нужные данные и открываю в Excel. Геморойно, но работает довольно шустро.

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.09.05 11:06. Заголовок: Re:


здорово, html-файлы сохраняют форматирование! правда, на office-97 не всё форматирование восстановилось при excel xp->html->excel (а именно, границы и раскраска фона ячеек)

всякими *.csv и *.txt такого не добиться! (сохранения форматирования)

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.09.05 10:41. Заголовок: Re:


Почему не в Харборе отчет? Харбор прекрасно работает с Excel.Основная программа на Клиппере, а некоторые отчеты делаю в небольшой проге на Харбор.К сожалению консольный Харбор Клиппер еще не догнал, поэтому полностью на Харбор не перехожу.

Спасибо: 0 
Цитата Ответить





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.09.05 11:46. Заголовок: чего не хватает в Харборе?


Упомянут именно Харбор? или более продвинутый xХарбор?

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.09.05 11:48. Заголовок: Re:


2 Vlad04: если требуется работать в winapi или ole, то (мне) проще писать программу на с(c++) + winapi или на дельфи или на VBA.. всё равно код harbour транслируется на c++

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.09.05 13:39. Заголовок: Re:


Vlad04 пишет:
цитата
Харбор прекрасно работает с Excel

Сам-то проверял?
У меня в harbour на P4 2GHz через
oExcel := TOleAuto():New( "Excel.Application" )
и т.д.
отчет 14 столбцов х 1200 строк грузится в Excel около 2х минут - Clipper-e секуд 5.
_sergey пишет:
цитата
VBA (да и вообще OLE) вставляет ячейки в страницу excel'я действительно медленно

согласен на все 100

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 03.10.05 06:49. Заголовок: Re:


Сам все проверял. Имеется ввиду xХарбор.Для выгрузки больших отчетов использую библиотеку XlsRep.dll. Она упоминалась здесь на форумах.

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 03.10.05 14:55. Заголовок: Re:


2 Vlad04: а можно посмотреть на эту xlsrep.dll? и есть ли исходники? а то интересно! там файл с отчётом заново создаётся (например, в формате BIF, что меня и интересует), или дописывается в существующий, например, в шаблон? (что с использованием только формата BIF не получится)

формат BIF тем удобен, что excel его понимает, он задокументирован, а создавать его можно как обычный двоичный DOS-файл (а не OLE-хранилице, как в случае с обычным xls-файлом)

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 04.10.05 06:04. Заголовок: Re:


Исходников нет.Автор: nik_x@hotbox.ru - обратись к нему.Он писал , что библиотека получила дальнейшее развитие.
Так же можешь посмотреть сайт Водоносова : http://vodonosov.nm.ru/develop/develop.htm.
Там есть так же программка для прямого доступа к файлам Excel в Клиппере . Для Харбор ее надо немного подправить.

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 04.10.05 08:20. Заголовок: Re:


Кстати использую исходники Водоносова , скорость супер.......ну это и понятно если исходник глянуть.

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 04.10.05 16:47. Заголовок: Re:


Dima пишет:
цитата
Кстати использую исходники Водоносова , скорость супер.......
Я некоторое время использовал этот метод - спасибо Водоносову.
Потом отказался - совершенно нет форматирования отчета :(

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 14.10.05 07:58. Заголовок: Re:


les пишет:
цитата
нарисовал шапку руками, довавил строку с данными, отформатировал, сохранил в формате *.html, из Clipper-а по образу и подобию дописываю нужные данные и открываю в Excel.

а нужные данные дописываешь в какой кодировке? В виндовой, каким образом?

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 14.10.05 08:47. Заголовок: Re:


deep пишет:
цитата
а нужные данные дописываешь в какой кодировке? В виндовой, каким образом?
Конечно в cp1251, используя OemToAnsi()

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 14.10.05 08:53. Заголовок: Re:


А в какой библиотеке эта функция? В поставке клиппер 5.01 она есть?

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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 17.10.05 16:32. Заголовок: Re:


deep пишет:
цитата
А в какой библиотеке эта функция? В поставке клиппер 5.01 она есть?
В Clipper-е её нет. Но есть много самописных вариантов



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

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