Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Экспорт в Excel средствами xHarbour

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 25 Oct 2005 10:34    Post subject: Экспорт в Excel средствами xHarbour Reply with quote

Хотелось бы осветить некоторые тонкости, синтаксис, и примеры, по формированию более "продвинутых" отчетов чем простая таблица в примере. (pivot tables, диаграммы ...)
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 25 Oct 2005 10:49    Post subject: Reply with quote

Только давайте уходить от общих вопросов - у всех работа
Перейдем к какой-нибудь конкретной задаче, которая Вас интересует
Back to top
View user's profile Send private message Send e-mail
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 25 Oct 2005 10:54    Post subject: Reply with quote

Ну если нет расширенной инструкции ДСП по этому вопросу, тогда достаточно будет фрагмента исходника по формированию сводного отчета из главной книги
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 25 Oct 2005 19:11    Post subject: Reply with quote

Предлагаю компромисс...

Вам нужен кусок текста - мне надо обучить тех кто не так опытен, как Вы....

Вы берете небольшой макрос Excel делающий подобное (пусть строчку одну) - выкладываете, я на этом примере разбираю как его адаптировать в харборе БЭСТа.

Если после этого понадобится кусок текста отчета что Вы просите для примера, я в отдельной теме даю каким способом сделано у нас - тот самый кусок (не факт что он понадобится, но требование будет удовлетворено).
Back to top
View user's profile Send private message Send e-mail
Яков



Joined: 04 Mar 2002
Posts: 618
Location: Яков
Occupation: Экстремальная терапия бизнеса
Interests: Владивосток

PostPosted: 26 Oct 2005 03:12    Post subject: Reply with quote

Дайте например пример того, как можно выгружать в EXCEL Прайс-лист.
НА базе этого примера можно будет понять основные принципы и команды. А в дальнейшем уже модифицируя этот пример составлять другие отчеты.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Марина



Joined: 27 Aug 2002
Posts: 501
Location: Кондрина Марина Александровна
Occupation: ОАО БКО программист
Interests: Боровичи Новгородской обл

PostPosted: 26 Oct 2005 08:29    Post subject: Reply with quote

В 12.01 появилась возможность использовать шаблоны. Хотелось бы построить любой простой отчет например по проводкам с подсчетом итогов и использованием шаблона
Back to top
View user's profile Send private message
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 26 Oct 2005 08:50    Post subject: Reply with quote

шаблоны - это тема другого урока.
вот к примеру макрос
его надо изложить в коде
интересует синтаксис, ссылки, имена полей задаются через переменные
Code:
 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Test!R1C1:R157C9").CreatePivotTable TableDestination:="", TableName:= _
        "СводнаяТаблица2", DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    With ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields( _
        "Направление движения")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields("Раздел БДДС")
        .Orientation = xlRowField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields("Статья БДДС")
        .Orientation = xlRowField
        .Position = 3
    End With
    ActiveSheet.PivotTables("СводнаяТаблица2").AddDataField ActiveSheet.PivotTables _
        ("СводнаяТаблица2").PivotFields("Сумма"), "Сумма по полю Сумма", xlSum
    With ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields("Кор.счет")
        .Orientation = xlColumnField
        .Position = 1
    End With
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 26 Oct 2005 11:41    Post subject: Reply with quote

ЯКОВ wrote:
Дайте например пример того, как можно выгружать в EXCEL Прайс-лист.
НА базе этого примера можно будет понять основные принципы и команды. А в дальнейшем уже модифицируя этот пример составлять другие отчеты.


Что касается прайс-листа - нажмите ALT-X и не заморачивайтесь
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 26 Oct 2005 11:58    Post subject: Reply with quote

itman wrote:
шаблоны - это тема другого урока.


Приятно иметь дело с понятливым человеком

Code:
ActiveWorkbook.PivotCaches.


В первую очередь в подобных звеньях замените "." на ":"

Далее "Сводная таблица" и другие наименования пишите
OEMTOANSI("Сводная таблица") или переменную внутрь соответственно
Если на конце цепочки будет что=то типа merge то у нас надо добавить "()" ,т.е. команду обращаем в функцию по синтаксису

Да и кстати начинать надо

Code:
TRY
   oApp := GetActiveObject( "Excel.Application" )
   oApp:Visible := .F.
   IF oApp:WorkBooks:count=0
      oApp := CreateObject( "Excel.Application" )
   ENDIF
CATCH
   TRY
      oApp := CreateObject( "Excel.Application" )
   CATCH
      Alert("Excel не доступен!")
      RETURN 0
   END
END
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 26 Oct 2005 12:10    Post subject: Reply with quote

Если что пропустил - подскажите.
Пример по прайсу выложеный Титовым А.А. перенес в другую тему чтобы здесь сконцентрировать разбор подхода переноса макроса из Excel в БЭС
Back to top
View user's profile Send private message Send e-mail
Яков



Joined: 04 Mar 2002
Posts: 618
Location: Яков
Occupation: Экстремальная терапия бизнеса
Interests: Владивосток

PostPosted: 26 Oct 2005 12:40    Post subject: Reply with quote

nordk wrote:
Что касается прайс-листа - нажмите ALT-X и не заморачивайтесь

А внешний вид что каждый раз заново настраивать?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 26 Oct 2005 12:44    Post subject: Reply with quote

1.Насчет внешнего вида
a) рисуется шаблон и страница копируется в него
б) пишется макрос копирующий страницу в шаблон
в) делается шаблон через ALT-X
2. Насчет примера что Вы просили - посмотрите в соседней теме плз, Сан Саныч Вам уже опубликовал его
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru