powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / copy to excel from PL/SQL
23 сообщений из 23, страница 1 из 1
copy to excel from PL/SQL
    #37425754
Anapurna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
copy to excel from PL/SQL
    #37425849
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anapurnaa gde nastroika na to chto v Excel zapolnyal vse danie v neskolkix listax ????нет такого. читайе в сводную, а не на лист, если excel версией ниже 2003. в 2007 можно на лист сколько угодно записей воткнуть..
...
Рейтинг: 0 / 0
copy to excel from PL/SQL
    #37425905
Anapurna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
copy to excel from PL/SQL
    #37426817
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, не умеет он так
...
Рейтинг: 0 / 0
copy to excel from PL/SQL
    #37430874
Anapurna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drug ia svaimi glazami videl eto
a kak nastroit moi Excel ne znaiu
...
Рейтинг: 0 / 0
copy to excel from PL/SQL
    #37430969
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что это ты видел своими глазами?
...
Рейтинг: 0 / 0
copy to excel from PL/SQL
    #37431013
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: F
> Что это ты видел своими глазами?


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

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

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


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

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


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

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

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

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



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
copy to excel from PL/SQL
    #37431388
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Anapurna
> Igor a kak vi raspisali ?

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

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

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


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


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

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


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
copy to excel from PL/SQL
    #37432776
Anapurna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
copy to excel from PL/SQL
    #37432845
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: 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
copy to excel from PL/SQL
    #37433527
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос... но других вариантов нет
Код: 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
copy to excel from PL/SQL
    #37433898
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос+
OFF> Автор: PlanB
> ИГ, ты мне лучше скажи, новый VB (2010) - совершенно другой, нежели 6.0?


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



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


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

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


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