Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / copy to excel from PL/SQL / 23 сообщений из 23, страница 1 из 1
05.09.2011, 17:05
    #37425754
Anapurna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Dobri den ( proshu proshenya za latinicu)
u menia pri export bolshe 500 000 records
v excel sozdaiot tolko odin list s paslednimi recordami

a gde nastroika na to chto v Excel zapolnyal vse danie v neskolkix listax ????
...
Рейтинг: 0 / 0
05.09.2011, 17:48
    #37425849
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Anapurnaa gde nastroika na to chto v Excel zapolnyal vse danie v neskolkix listax ????нет такого. читайе в сводную, а не на лист, если excel версией ниже 2003. в 2007 можно на лист сколько угодно записей воткнуть..
...
Рейтинг: 0 / 0
05.09.2011, 18:26
    #37425905
Anapurna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
kak net takogo

na odnom kompe eto delaet - v smisle 500 000 recordov na 9 listov zalivaet
a u menya vsego posledni list polazivaet v itoge
...
Рейтинг: 0 / 0
06.09.2011, 12:51
    #37426817
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
ну, не умеет он так
...
Рейтинг: 0 / 0
08.09.2011, 15:08
    #37430874
Anapurna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
drug ia svaimi glazami videl eto
a kak nastroit moi Excel ne znaiu
...
Рейтинг: 0 / 0
08.09.2011, 15:42
    #37430969
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Что это ты видел своими глазами?
...
Рейтинг: 0 / 0
08.09.2011, 15:52
    #37431013
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
> Автор: F
> Что это ты видел своими глазами?


Ну как что? Он видел сводную построенную не по данным листа, а по данным запроса из БД. А потом по этой сводной правой
кнопкой мыши и(есть какой-то пункт меню, который выбрасывает на отдельные листы данные по измерению страниц) БАЦ! оно
само разлезлось, а на последнем не полностью

P.S. Все вышенаписанное, мной, является плодом больного воображения поражённого большим количеством глюциногенов,
применявшихся для его лечения

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.09.2011, 15:59
    #37431039
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Игорь ГорбоносНу как что?о, точно! не сообразил сразу. по-моему, в 2003 версии надо дважды ткнуть в левый верхний угол сводной, он и выкинет данные на новый лист(ы)
...
Рейтинг: 0 / 0
08.09.2011, 15:59
    #37431040
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Игорь Горбонос> Автор: F
> Что это ты видел своими глазами?


Ну как что? Он видел сводную построенную не по данным листа, а по данным запроса из БД. А потом по этой сводной правой
кнопкой мыши и(есть какой-то пункт меню, который выбрасывает на отдельные листы данные по измерению страниц) БАЦ! оно
само разлезлось, а на последнем не полностью

P.S. Все вышенаписанное, мной, является плодом больного воображения поражённого большим количеством глюциногенов,
применявшихся для его лечения


Я видел клиента (собс-но использую его), кот-й с МС СКЛ-я в Эксель именно так выгружает: слил 65000 строк и на новый лист сливает.
...
Рейтинг: 0 / 0
08.09.2011, 16:15
    #37431086
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
> Автор: кладовщик
> Я видел клиента (собс-но использую его) ...

А чего там смотреть? Я у себя такое один раз написал, теперь весь отдел использует

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.09.2011, 16:24
    #37431113
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
кладовщикъЯ видел клиента (собс-но использую его), кот-й с МС СКЛ-я в Эксель именно так выгружает: слил 65000 строк и на новый лист сливает.
Так ТС утверждает, что в настройках Экселя это видел. На клиенте каждый сделает.
...
Рейтинг: 0 / 0
08.09.2011, 16:54
    #37431212
Anapurna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Игорь Горбонос> Автор: кладовщик
> Я видел клиента (собс-но использую его) ...

А чего там смотреть? Я у себя такое один раз написал, теперь весь отдел использует



Igor a kak vi raspisali ?

vot ia vigruzil shas opiat
v liste SQL Results v iacheike A1 record 524288 to est ostalnie 65536x8 net
a v liste SQL Statement sam Select ot PL/SQL


2
надо дважды ткнуть в левый верхний угол сводной, он и выкинет данные на новый лист(ы)
eto ne deiastvuet
...
Рейтинг: 0 / 0
08.09.2011, 18:12
    #37431388
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
> Автор: Anapurna
> Igor a kak vi raspisali ?

Я написал функцию на ФоксПро, которая выводит результат запроса в ексель и при этом производит разбивку на листы, если
необходимо.

И я не знаю таких настроек в екселе. Скорее всего это делает программа, которая получает данные с сервера и раскладывает
их в ексель

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.09.2011, 09:15
    #37432017
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Игорь ГорбоносИ я не знаю таких настроек в екселеда и нет их..тему вообще закрывать пора, раз ТС сам не понимает, чего хочет
...
Рейтинг: 0 / 0
09.09.2011, 09:17
    #37432019
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
ИГ, ты мне лучше скажи, новый VB (2010) - совершенно другой, нежели 6.0?
...
Рейтинг: 0 / 0
09.09.2011, 09:59
    #37432073
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
OFF> Автор: PlanB
> ИГ, ты мне лучше скажи, новый VB (2010) - совершенно другой, нежели 6.0?


Абсолютно. Это совершенно другой язык, не смотря на похожесть некоторых ключевых слов и немного синтаксиса. И подход к
программированию на нём скорее явовский или с++'ный чем VB'шный.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.09.2011, 10:07
    #37432092
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
ат блин! так же и думал...
...
Рейтинг: 0 / 0
09.09.2011, 10:10
    #37432101
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
OFF2> Автор: PlanB
> ат блин! так же и думал...

Как у нас говорят - Такова селяви.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.09.2011, 14:41
    #37432776
Anapurna
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
PlanBИгорь ГорбоносИ я не знаю таких настроек в екселеда и нет их..тему вообще закрывать пора, раз ТС сам не понимает, чего хочет

tut ia ne govari o nastroek v obshe a raz igor skazal chto etu problemu reshil xotel utochnit chto za function u nego bil takoi
...
Рейтинг: 0 / 0
09.09.2011, 15:09
    #37432845
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
> Автор: Anapurna
> a raz igor skazal chto etu problemu reshil xotel utochnit chto za function u nego bil takoi


Такое можно сделать в виде макроса. Макрос получает данные из БД и выводит данные на лист, пока не наступит конец листа.
Тут перехватывается ошибка , добавляется новый лист и переназначается вывод в новый лист с первых строк и продолжается
получение и вывод данных. И так пока не закончатся данные или Ексел не сможет добавлять новые листы :)

типа так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
...
Application.ScreenUpdating = False
NameWorkSheet = "Движение ден. ср.(2)"
Set shDest = ActiveWorkbook.Sheets.Add
shDest.Name = "разбивка"
CurrentPositionY =  93 
CurrentPositionYDest =  2 
Set shSource = Sheets(NameWorkSheet)
On Error GoTo labErr
Do

'    В цикле идет обработка записей, с переносом их на новый лист
'    и дублированием их по несколько раз, в зависимости от критериев

    If ChekEndBasa(CurrentPositionY) Then
        pusto = pusto +  1 
    Else
        pusto =  0 
    End If
Loop Until pusto >  5 
Application.ScreenUpdating = True
MsgBox "Все закончили!"
Exit Sub
labErr:
' Эта обработка ошибок была добавленна специально, после того, как данные перестали умещатся на одном листе
' Что обозначают номера ошибок, я не помню. Но именно эти номера возникали при окончании строк на листе
If Err.Number =  1004  Or Err.Number =  13  Then
'    s = Razbivka & "^" & CStr(CurrentRowInRazbivka)
'    mColSheets.Add s
    NameWorkSheet = "разбивка " & CStr((Rnd( 10 ) *  1000 ) \  1 )
    CurrentPositionYDest =  2 
    Set shDest = ActiveWorkbook.Sheets.Add
    With shDest
        .Name = NameWorkSheet
        .Select
    End With
    shDest.Rows(CStr(CurrentPositionYDest) & ":" & CStr(CurrentPositionYDest -  1  + nInterval)).PasteSpecial
Else
    Err.Raise Err.Number
    Resume Next
End If
'MsgBox CStr(Err.Number) & Err.Description
Resume Next
....

Вот на таком-же принципе я бы построил вывод данных на листы. Можно даже не ошибку ловить, а ориентироватся на номер
строки. Или просто делать цикл от 2 и по количеству строк на листе, а в процессе вывода, контролировать "окончание"
данных в recordset'е. Правда это будет не быстро, но других вариантов нет :(

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.09.2011, 21:58
    #37433527
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Игорь Горбонос... но других вариантов нет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
Sub getSQLdata()
Const L_REC_PER_WS& =  65535 
Dim rs
Dim scn$, sq$
Dim k&, i&, t!

Application.ScreenUpdating =  0 
t = Timer
Debug.Print "timer start: " & t

scn = "Provider=MSDAORA;Server=127.0.0.1;Data Source=XXX;user id=YYY;password=ZZZ;"
sq = "select count(*) from JOURNAL2 where JDATE between '01-JAN-2007' and '31-DEC-2010'"
Set rs = CreateObject("adodb.recordset")
rs.Open sq, scn,  3 ,  3 ,  1 
k = rs( 0 ).Value
rs.Close

i = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = k \ L_REC_PER_WS +  1 

Debug.Print "records: " & k
sq = "select JDATE,JTIME,EVENT_TYPE,RID,SERTIF from JOURNAL2 where JDATE between '01-JAN-2007' and '31-DEC-2010'"
rs.Open sq, ,  0 ,  1 ,  1 

With Workbooks.Add
Application.SheetsInNewWorkbook = i
    For i =  1  To .Worksheets.Count
        With .Worksheets(i)
            .[a1].CopyFromRecordset rs, L_REC_PER_WS
        End With
        Debug.Print "timer ws(" & i & "): " & Timer - t
    Next i
End With

rs.Close
rs.activeconnection.Close
Set rs = Nothing

Debug.Print "timer stop: " & Timer - t
Application.ScreenUpdating = - 1 
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
timer start:  72358 , 28 
records:  943175 
timer ws( 1 ):  6 , 96875 
timer ws( 2 ):  8 , 640625 
timer ws( 3 ):  10 , 26563 
timer ws( 4 ):  11 , 95313 
timer ws( 5 ):  13 , 59375 
timer ws( 6 ):  15 , 21875 
timer ws( 7 ):  16 , 9375 
timer ws( 8 ):  18 , 54688 
timer ws( 9 ):  20 , 14063 
timer ws( 10 ):  21 , 85938 
timer ws( 11 ):  23 , 5625 
timer ws( 12 ):  25 , 5 
timer ws( 13 ):  29 , 79688 
timer ws( 14 ):  48 , 09375 
timer ws( 15 ):  63 , 45313 
timer stop:  63 , 46875 

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Sub getSQLdata2()
Const L_REC_PER_WS& =  65535 
Dim rs
Dim scn$, sq$
Dim i&, t!

Application.ScreenUpdating =  0 
t = Timer
Debug.Print "timer start: " & t

scn = "Provider=MSDAORA;Server=127.0.0.1;Data Source=XXX;user id=YYY;password=ZZZ;"
sq = "select JDATE,JTIME,EVENT_TYPE,RID,SERTIF from JOURNAL2 where JDATE between '01-JAN-2007' and '31-DEC-2010'"
Set rs = CreateObject("adodb.recordset")
rs.Open sq, scn,  0 ,  1 ,  1 

With Workbooks.Add
    i =  0 
    Do Until rs.EOF
       i = i +  1 
        If .Worksheets.Count < i Then
            With .Worksheets.Add(after:=.Worksheets(i -  1 ))
                .[a1].CopyFromRecordset rs, L_REC_PER_WS
            End With
        Else
            .Worksheets(i).[a1].CopyFromRecordset rs, L_REC_PER_WS
        End If
        Debug.Print "timer ws(" & i & "): " & Timer - t
    Loop
    Debug.Print "records: " & L_REC_PER_WS * (i -  1 ) + .Worksheets(i).UsedRange.Rows.Count
End With

rs.Close
rs.activeconnection.Close
Set rs = Nothing

Debug.Print "timer stop: " & Timer - t
Application.ScreenUpdating = - 1 
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
timer start:  73500 , 64 
timer ws( 1 ):  6 , 4375 
timer ws( 2 ):  8 , 21875 
timer ws( 3 ):  9 , 75 
timer ws( 4 ):  11 , 4375 
timer ws( 5 ):  13 , 09375  
timer ws( 6 ):  14 , 75 
timer ws( 7 ):  16 , 5625 
timer ws( 8 ):  18 , 64063 
timer ws( 9 ):  20 , 98438 
timer ws( 10 ):  23 , 39063 
timer ws( 11 ):  25 , 60938 
timer ws( 12 ):  28 , 39063 
timer ws( 13 ):  33 , 42188 
timer ws( 14 ):  51 , 04688 
timer ws( 15 ):  66 , 25 
records:  943175 
timer stop:  66 , 26563 
...
Рейтинг: 0 / 0
10.09.2011, 15:22
    #37433898
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
Игорь Горбонос+
OFF> Автор: PlanB
> ИГ, ты мне лучше скажи, новый VB (2010) - совершенно другой, нежели 6.0?


Абсолютно. Это совершенно другой язык, не смотря на похожесть некоторых ключевых слов и немного синтаксиса. И подход к
программированию на нём скорее явовский или с++'ный чем VB'шный.



Тоже офф.
Начал гуглить "proggramming Excel 2010", наткнулся опять на очередной релиз от старика Уокенбаха. Стоит почитать? И что вообще что стоит почитать по автоматизации в Excel 2010?
...
Рейтинг: 0 / 0
12.09.2011, 11:14
    #37435673
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
copy to excel from PL/SQL
> Автор: скукотища
> +


Хм, интересно. Не знал, что так можно. Спасибо.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / copy to excel from PL/SQL / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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