Question Manipuler LibreOffice avec Powershell.
- DILLENSEGER Julien
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 4 mois #18284
par DILLENSEGER Julien
Manipuler LibreOffice avec Powershell. a été créé par DILLENSEGER Julien
Bonjour,
existe-t-il un moyen (simple de préférence) d'utiliser LibreOffice avec Powershell notamment Scalc?
J'ai constaté qu'avec Excel à l'aide d'un objet COM, cela est possible.
Tout ce que j'ai trouvé, c'est d'utiliser un API:
stackoverflow.com/questions/954818/power...ice-calc-spreadsheet
Voici le code:
####################################################
[System.Reflection.Assembly]::LoadWithPartialName('cli_basetypes')
[System.Reflection.Assembly]::LoadWithPartialName('cli_cppuhelper')
[System.Reflection.Assembly]::LoadWithPartialName('cli_oootypes')
[System.Reflection.Assembly]::LoadWithPartialName('cli_ure')
[System.Reflection.Assembly]::LoadWithPartialName('cli_uretypes')
$localContext = [uno.util.Bootstrap]::bootstrap()
$multiComponentFactory = [unoidl.com.sun.star.uno.XComponentContext].getMethod('getServiceManager').invoke($localContext, @())
$desktop = [unoidl.com.sun.star.lang.XMultiComponentFactory].getMethod('createInstanceWithContext').invoke($multiComponentFactory, @('com.sun.star.frame.Desktop', $localContext))
$calc = [unoidl.com.sun.star.frame.XComponentLoader].getMethod('loadComponentFromURL').invoke($desktop, @('private:factory/scalc', '_blank', 0, $null))
$sheets = [unoidl.com.sun.star.sheet.XSpreadsheetDocument].getMethod('getSheets').invoke($calc, @())
$sheet = [unoidl.com.sun.star.container.XIndexAccess].getMethod('getByIndex').invoke($sheets, @(0))
$cell = [unoidl.com.sun.star.table.XCellRange].getMethod('getCellByPosition').invoke($sheet.Value, @(0,0))
[unoidl.com.sun.star.table.XCell].getMethod('setFormula').invoke($cell, @('A value in cell A1.'))
###################################################
Cela dépasse mes compétences...
L'un d'entre vous aurait-il une solution?
Merci.
Cordialement.
Birkozo.
existe-t-il un moyen (simple de préférence) d'utiliser LibreOffice avec Powershell notamment Scalc?
J'ai constaté qu'avec Excel à l'aide d'un objet COM, cela est possible.
Tout ce que j'ai trouvé, c'est d'utiliser un API:
stackoverflow.com/questions/954818/power...ice-calc-spreadsheet
Voici le code:
####################################################
[System.Reflection.Assembly]::LoadWithPartialName('cli_basetypes')
[System.Reflection.Assembly]::LoadWithPartialName('cli_cppuhelper')
[System.Reflection.Assembly]::LoadWithPartialName('cli_oootypes')
[System.Reflection.Assembly]::LoadWithPartialName('cli_ure')
[System.Reflection.Assembly]::LoadWithPartialName('cli_uretypes')
$localContext = [uno.util.Bootstrap]::bootstrap()
$multiComponentFactory = [unoidl.com.sun.star.uno.XComponentContext].getMethod('getServiceManager').invoke($localContext, @())
$desktop = [unoidl.com.sun.star.lang.XMultiComponentFactory].getMethod('createInstanceWithContext').invoke($multiComponentFactory, @('com.sun.star.frame.Desktop', $localContext))
$calc = [unoidl.com.sun.star.frame.XComponentLoader].getMethod('loadComponentFromURL').invoke($desktop, @('private:factory/scalc', '_blank', 0, $null))
$sheets = [unoidl.com.sun.star.sheet.XSpreadsheetDocument].getMethod('getSheets').invoke($calc, @())
$sheet = [unoidl.com.sun.star.container.XIndexAccess].getMethod('getByIndex').invoke($sheets, @(0))
$cell = [unoidl.com.sun.star.table.XCellRange].getMethod('getCellByPosition').invoke($sheet.Value, @(0,0))
[unoidl.com.sun.star.table.XCell].getMethod('setFormula').invoke($cell, @('A value in cell A1.'))
###################################################
Cela dépasse mes compétences...
L'un d'entre vous aurait-il une solution?
Merci.
Cordialement.
Birkozo.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 4 mois #18286
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Manipuler LibreOffice avec Powershell.
Salut,
BIRKOZO écrit:
Concernant la simplicité d'usage, j'ai comme un doute...
BIRKOZO écrit:
Peut être une piste ici .L'un d'entre vous aurait-il une solution?
Concernant la simplicité d'usage, j'ai comme un doute...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- DILLENSEGER Julien
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 4 mois #18288
par DILLENSEGER Julien
Réponse de DILLENSEGER Julien sur le sujet Re:Manipuler LibreOffice avec Powershell.
Bonjour,
Merci pour votre réponse.
Comme ma demande concerne un traitement de données de GLPI, il semble plus judicieux d'effectuer le traitement à l'aide d'une base de données.
Cordialement.
Birkozo.
Merci pour votre réponse.
Comme ma demande concerne un traitement de données de GLPI, il semble plus judicieux d'effectuer le traitement à l'aide d'une base de données.
Cordialement.
Birkozo.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.084 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- Manipuler LibreOffice avec Powershell.