Export vers Excel

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Export vers Excel

Messagepar WKTFE » 25 Mai 2003 à 19:18

Bonsoir Comment exporter les données présentées par une vue vers un fichier Excel ou une table Access ?L'export vers Lotus123 est limité à 8000 enregistrements.Merci
WKTFE
 

Re: Export vers Excel

Messagepar Stephane Maillard » 25 Mai 2003 à 21:02

Bonjour,Le code suivant devrait vous convenir :Sub Initialize Dim Session As New NotesSession Dim db As NotesDatabase Dim sourceview As NotesView Dim sourcedoc As NotesDocument Dim dataview As NotesView Dim dc As NotesDocumentCollection Dim datadoc As NotesDocument Dim maxcols As Integer Dim WS As New Notesuiworkspace Dim ViewString As String Dim Scope As String Dim GetField As Variant Dim C As NotesViewColumn Dim FieldName As String Dim K As Integer Dim N As Integer Dim xlApp As Variant Dim xlsheet As Variant Dim rows As Integer Dim cols As Integer Dim nitem As NotesItem Dim entry As NotesViewEntry Dim vwNav As NotesViewNavigator Dim ShowView() As Variant Dim i As Integer Dim VList As Variant Dim ColVals As Variant '***** Vous pouvez modifier le code pour qu'il fasse appel à une autre base dedocument Set db = session.CurrentDatabase Vlist= db.views ' Récupère les vue de la base K=Ubound(Vlist) ' Récupère le nombre de vue Redim Preserve ShowView(K) N=-1 For i = 0 To K If Len(Vlist(i).Name) >0 Then FieldName=Trim(Vlist(i).Name) If Mid(Fieldname,1,1) <>"(" Then ' On n'affiche pas les vues caché N=N+1 ShowView(N) = FieldName End If End If Next i Redim Preserve ShowView(N) ' Trie les vues par ordre alphabétique For i=0 To N For K=i To N If ShowView(i) > ShowView(k) Then FieldName=ShowView(i) ShowView(i) = ShowView(k) ShowView(k)=FieldName End If Next k Next i viewstring= ws.Prompt(PROMPT_OKCANCELLIST,"Liste des vues","Choisissez unevue","",ShowView ) If Len(viewstring)=0 Then Exit Sub Set dataview = db.getview(ViewString) ' Ouvre la vue Set vwnav= dataview.createViewnav() rows = 1 cols = 1 maxcols=dataview.ColumnCount ' Récupère le nombre de colonne Set xlApp = CreateObject("Excel.Application")' Lance Excel xlApp.StatusBar = "Création du tableau. Veuillez patienter..." xlApp.Visible = True xlApp.Workbooks.Add xlApp.ReferenceStyle = 2 Set xlsheet = xlApp.Workbooks(1).Worksheets(1) ' On prend la premièrefeuille du classeur ' On met le titre de la vue xlsheet.Cells(rows,cols).Value ="Vue : " + ViewString + ", de la base : " +db.title +", extraction du : " + Format(Now,"mm/dd/yyyy HH:MM") xlApp.StatusBar = "Création des entêtes de colonnes. Veuillez patienter..." rows=2 ' On commence à la deuxième ligne For K=1 To maxcols Set c=dataview.columns(K-1) xlsheet.Cells(rows,cols).Value = c.title cols = cols + 1 Next K Set entry=vwnav.GetFirstDocument rows=3 ' On se place sur la troisième ligne Do While Not (entry Is Nothing) For cols=1 To maxcols colvals=entry.ColumnValues(cols-1) scope=Typename(colvals) Select Case scope Case "STRING" xlsheet.Cells(rows,cols).Value ="'" + colvals Case Else xlsheet.Cells(rows,cols).Value = colvals End Select Next cols xlApp.StatusBar = "Importation des données - Document " & rows-1 '& " sur" & dc.count & "." rows=rows+1 Set entry = vwnav.getnextdocument(entry) Loop xlApp.Rows("1:1").Select xlApp.Selection.Font.Bold = True xlApp.Selection.Font.Underline = True xlApp.Range(xlsheet.Cells(2,1), xlsheet.Cells(rows,maxcols)).Select xlApp.Selection.Font.Name = "Arial" xlApp.Selection.Font.Size = 9 xlApp.Selection.Columns.AutoFit With xlApp.Worksheets(1) .PageSetup.Orientation = 2 .PageSetup.centerheader = "Rapport" .Pagesetup.RightFooter = "Page &P" & Chr$(13) & "Date : &D" .Pagesetup.CenterFooter = "" End With xlApp.ReferenceStyle = 1 xlApp.Range("A1").Select xlApp.StatusBar = "L'importation des données de Lotus Notes est terminé." '***** Vous pouvez activer la ligne ci-dessous si vous voulez enregistrerle document en automatique 'xlapp.ActiveWorkbook.saveas "C:\Vue" + Trim(Format(Now,"yyy")) ' Sauve ledocument dataview.clear Set xlapp=Nothing ' Stop l'automation excel Set db=NothingEnd Sub[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: Export vers Excel

Messagepar WKTFE » 25 Mai 2003 à 21:55

Si ce n'est pas une réponse complète alors je ne m'y connais plus !Merci Stéphane et bonne semaine !
WKTFE
 

Re: Export vers Excel

Messagepar Débutant2 » 02 Juin 2003 à 13:52

Et en plus ça marche !!!Grand merci Stéphane !
Débutant2
 

Re: Export vers Excel

Messagepar Philippe Zouzoulas » 03 Juin 2003 à 11:16

Salut,Est-il possible de changer facilement ce code afin d'avoir une sortie vers Access à la place de Excel.Dans ce cas, où puis-je trouver l'info ?Philippe.
Philippe Zouzoulas
 

Re: Export vers Excel

Messagepar Raziel » 03 Juin 2003 à 11:20

Salut,Dans le cas d'acces, il te faudra passé par un lien odbc. Je pense qu'il doit y avoir des exemple sur Notes.net dans la sandbox.
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: Export vers Excel

Messagepar Philippe Zouzoulas » 04 Juin 2003 à 10:32

salut,merci pour l'indice. je suis allé voir mais finalement je vais me débrouiller avec Excel ;) ODBC c'est carrément anti-convivial et anti-pratique !phi.
Philippe Zouzoulas
 

Re: Export vers Excel

Messagepar delp07 » 04 Juin 2003 à 13:37

et on le met où tout ce code ??? et si je ve automatiser l'export c déjà prevu avec cette formule ou il faut creer un agent?mercidelp
delp07
 

Re: Export vers Excel

Messagepar Raziel » 04 Juin 2003 à 13:42

SalutQuand tu parle d'automatisme, c'est forcément un agent programmé. Il te suffit de recopier le code dans ton agent et le tour est joué.
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: Export vers Excel

Messagepar delp07 » 04 Juin 2003 à 14:27

je retrouve pas mon doc excel où j'ai exporté mes messages ... (je sais que j'ai pleins de trucs a apprendre encore) comment ça marche?
delp07
 

et importation depuis excel ?

Messagepar Cuatan » 04 Juin 2003 à 14:56

bjr si qqn peux m'aider : moi c'est l'inverse je cherche a importer des info excel specifique ds une vue notes ! le pb est de passer par une feuille 123 car pose des pb avec les liens entre les fichiers excel . donc j'aimerai eviter ca..bref une solution pour recuperer une liste et 'limporter ds une vue direct par un .xls? en lotus cript ca me derange pas ! faudra que je l'automatise...mci bcp !
Cuatan
 

et importation depuis excel ?

Messagepar Cuatan » 04 Juin 2003 à 14:56

bjr si qqn peux m'aider : moi c'est l'inverse je cherche a importer des info excel specifique ds une vue notes ! le pb est de passer par une feuille 123 car pose des pb avec les liens entre les fichiers excel . donc j'aimerai eviter ca..bref une solution pour recuperer une liste et 'limporter ds une vue direct par un .xls? en lotus cript ca me derange pas ! faudra que je l'automatise...mci bcp !
Cuatan
 

Re: Export vers Excel

Messagepar Raziel » 04 Juin 2003 à 15:14

Qu'a tu mis pour ton SaveAsTon fichier doit normalement se trouver à cet endroit...
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix


Retour vers Développement

cron