Page 1 sur 1

Exporter une vue dans un fichier csv ou excel

MessagePublié: 24 Juin 2010 à 16:17
par thomasantoo
Bonjour,
Quelqu'un a deja réalisé un agant planifié pour exporter une vue "non ouverte" dans un fichier csv ou excel ?
si vous avez le code ou le script ça me sauvera la vie .
Merci d'avance de votre aide.

MessagePublié: 24 Juin 2010 à 18:56
par roubech
tu devrais trouver ce que tu cherche dans la section TIPS correspondante
Index du Forum » IBM-Lotus Domino » Trucs et Astuces » Développement » LotusScript » Importation/Exportation vers d'autres applications
http://forum.dominoarea.org/importation ... s-f31.html

export CSV

MessagePublié: 29 Juin 2010 à 18:25
par thomasantoo
Re bonjour,
merci pour votre réponse,
en effet j'ai utilisé un script que j'ai trouvé dans :
http://forum.dominoarea.org/export-dune ... 12079.html

Quand je le lance depuis ma machine ça fonctione très bien mais quand je le lance depuis le serveur où est créé l'agent ça ne fonctionne pas , en creusant un peu j'ai peut etre compris que c'est dû au fait que "Excel " n'est pas installé sur cette machine

la partie du code qui mentionne ça (à mon avis) :


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ère
feuille du classeur


Est ce que ça vient vraiment de ça et si c'est le cas comment faire pour y remédier ou bien comment faire pour utiliser le même Script mais en générant un fichier TXT ou CSV qui est standard

Merci d'avance de votre réponse

MessagePublié: 30 Juin 2010 à 06:37
par roubech
oui c'est parce que excel n'est pas sur le serveur (agent planifié)

pour l'export enfichier txt ou csv, regarde dans l'aide open, freefile, print, close
http://publib.boulder.ibm.com/infocente ... EMENT.html

MessagePublié: 30 Juin 2010 à 07:18
par Michael DELIQUE
salut

un tuto sur les fichiers => http://forum.dominoarea.org/la-gestion- ... 12999.html

tu peut aussi faire de l'export vers Excel sans Excel en passant par du java et par exemple Jackarta POI

export CSV

MessagePublié: 30 Juin 2010 à 10:10
par thomasantoo
ok merci pour vos réponses,
comme j'ai jamais utilisé du java dans mon développement auparavant sur lotus, quelqu'un peut me filer un export d'une vue déja réalisé sur un fichier EXCEL avec Jackarta POI

MessagePublié: 30 Juin 2010 à 10:53
par LSong
un fichier csv est un fichier text simple
passe plutot par une simple ouverture de fichier ca marche partout !

export CSV

MessagePublié: 30 Juin 2010 à 10:57
par thomasantoo
sincerement je cherche la methode le plus facile,
c'est quoi "une simple ouverture de fichier" ?

sinon avec @Command([FileExport],....) ça marchera pas ?

MessagePublié: 30 Juin 2010 à 12:17
par LSong
non @export ca ne fait que lancer le menu File/export

dans l'aide chercher "Open statement"
pour ouvrir un fichier, il y a des exemples etc

MessagePublié: 30 Juin 2010 à 12:37
par abertisch
Une petit classe pour faire cela bien :

Code : Tout sélectionner
Class MyStreamFile
   
   Private stream As NotesStream
   Private sFile   As String
   
   Sub New(psFile As String)
      Dim se as New NotesSession()
      
      Set stream = se.CreateStream()
      sFile = psFile
   End Sub
   
   Sub Delete()
   End Sub
   
   Public Function Open() As Integer
      Call stream.Open(sFile)
   End Function
   
   Public Function Close() As Integer
      Call stream.Close()
   End Function
   
   Public Function Write(sTxt As String) As Integer
      Call stream.WriteText(sTxt, EOL_CRLF)
   End Function
   
   Public Function isFileExisting() As Integer
      isFileExisting = False
      
      If Dir$(sFile, 0) <> "" Then
         isFileExisting = True
         Exit Function
      End If
   End Function
   
   Public Function deleteFile() As Integer
      Kill sFile
   End Function
   
End Class

MessagePublié: 30 Juin 2010 à 12:58
par roubech
T'as pas du chercher beaucoup dans l'aide ...
Un exemple basique, sans se préoccuper de champs multivalués ou RichText :
[syntax="LotusScript"]Sub ExportNAB

On Error Goto ErrorHandler

Dim s As New NotesSession
Dim dbNab As NotesDatabase
Dim viewNab As NotesView
Dim docNab As NotesDocument
Dim sFileName As String
Dim nFileNum As Integer
Dim sLine As String

sFileName = "C:\ExportNAB.txt"
nFileNum = Freefile()
Open sFileName For Output As nFileNum

sLine = "LastName"
sLine = sLine & ";" & "FirstName"
sLine = sLine & ";" & "FullName"
sLine = sLine & ";" & "ShortName"
sLine = sLine & ";" & "MailSystem"
sLine = sLine & ";" & "MailServer"
sLine = sLine & ";" & "MailFile"
sLine = sLine & ";" & "InternetAddress"
sLine = sLine & ";" & "JobTitle"
sLine = sLine & ";" & "CompanyName"
sLine = sLine & ";" & "Department"
sLine = sLine & ";" & "Location"
sLine = sLine & ";" & "Manager"
Print #nFileNum, sLine

Set dbNab = New NotesDatabase( "MonServeur", "names.nsf" )
Set viewNab = dbNab.GetView( "People" )

Set docNab = viewNab.GetFirstDocument()
While ( Not docNab Is Nothing )
sLine = docNab.LastName(0)
sLine = sLine & ";" & docNab.FirstName(0)
sLine = sLine & ";" & docNab.FullName(0)
sLine = sLine & ";" & docNab.ShortName(0)
sLine = sLine & ";" & docNab.MailSystem(0)
sLine = sLine & ";" & docNab.MailServer(0)
sLine = sLine & ";" & docNab.MailFile(0)
sLine = sLine & ";" & docNab.InternetAddress(0)
sLine = sLine & ";" & docNab.JobTitle(0)
sLine = sLine & ";" & docNab.CompanyName(0)
sLine = sLine & ";" & docNab.Department(0)
sLine = sLine & ";" & docNab.Location(0)
sLine = sLine & ";" & docNab.Manager(0)

Print #nFileNum, sLine

Set docNab = viewNab.GetNextDocument( docNab )
Wend

Close nFileNum
Msgbox "Fichier généré : " & sFileName

Exit Sub

ErrorHandler :
Msgbox "Erreur n°" & Err & " ligne " & Erl & " : " & Error
Close nFileNum
Exit Sub

End Sub[/syntax]

export CSV

MessagePublié: 30 Juin 2010 à 14:58
par thomasantoo
Super ça fonctionne très bien, mais y a un petit mais :

- Quand j'execute l'agent en laissant le chemin

sFileName = "C:\export.txt"

ça fonctionne très bien et il le genere bien

- Quand je rajoute un repertoire :

sFileName = "C:\Rep\export.txt"

ça ne fonctionne pas et j'ai un message d'erreur : "Unable to open the file "

Quelqu'un peut m'expliquer la raison SVP ?

MessagePublié: 30 Juin 2010 à 15:00
par abertisch
Je parie que le répertoire "Rep" n'existe pas sur ton "c:"