Recentemente su Codeplex è stata rilasciata la nuova versione dei Power Tool per Open XML sono strumenti molto potenti che permettono di creare e modificare documenti OpenXML attraverso Windows Poweshell
Per installarli è necessario avere:
- Una qualisasi versione di C# 2008 (anche la express)
- PowerShell 1.0
- Open XML Format SDK 1.0
E’ anche possibile scaricare direttamente i file binari, ma ho notato che la versione binaria è compilata con la CTP del Open XML Format SDK 2.0, che come tutte le beta non andrebbe usata in produzione. Meglio quindi compliare in proprio la dll.
La versione presente su Codplex ha già lo script post build che installa in GAC i tool: per farlo è necessario però disporre dei privilegi amministrativi. Io ho complilato senza script ed ho installato a manina con un prompt amministrativo con il comando:
%SystemRoot%\Microsoft.Net\Framework\v2.0.50727\InstallUtil [Path]\OpenXml.PowerTools.dll, dove per [Path] si intende la cartella dove avete messo la versione compliata.
lanciamo ora Windows PowerShell e assicuriamoci di aver fatto tutto a modo con il comando:
> Get-PSSnapin –registered
a questo punto, dopo aver verificato la presenza dello Snapin, lo abilitiamo con il comando:
> Add-PSSnapin OpenXml.PowerTools
In seguito possiamo vedere l’elenco dei comandi supportati con:
> Get-Command -PSSnapin OpenXml.PowerTools
a questo punto creiamo il nostro primo documento:
> Export-OpenXmlWordprocessing
Supply values for the following parameters:
(Type !? for Help.)
Text: Hello World
OutputPath: C:\temp\helloworld.docx
Il risultato sarà un documento OpenXML con all’interno questo document.xml:
<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<w:body>
<w:p>
<w:r>
<w:t>Hello World</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
Altre info le trovate sul blog di Eric
Grazie a Lorenzo per la segnalazione.