Cet article montre comment utiliser le SDK Open XML 2.5 pour valider un fichier Word, Excel et Powerpoint.
En premier nous allons créer un projet de type console, puis référencer le SDK avec les dll suivantes :
- DocumentFormat. OpenXml
- WindowsBase
Les DLL se trouvent dans le GAC, si elles n’existent pas vous pouvez les télécharger ici : http://www.microsoft.com/en-us/download/details.aspx?id=30425
Dans l’exemple de code ci-dessous nous allons voir la validation d’un classeur Excel. La validation d’un document Word ou d’une présentation Powerpoint est très similaire :
private static void ValidateSpreadsheetDocument(String path)
{
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(path, false))
{
OpenXmlValidator openXmlValidator = new OpenXmlValidator();
int count = 0;
foreach (ValidationErrorInfo error in openXmlValidator.Validate(spreadsheetDocument))
{
count++;
Console.WriteLine("Error " + count);
Console.WriteLine("Description: " + error.Description);
Console.WriteLine("Path: " + error.Path.XPath);
Console.WriteLine("Part: " + error.Part.Uri);
Console.WriteLine("-------------------------------------------");
}
}
}
ValidateSpreadsheetDocument permet d’ouvrir un fichier Excel en mode read-only et de lister les erreurs.
La méthode Validate de la classe OpenXmlValidator nous retourne une liste de ValidationErrorInfo contenant les informations sur les erreurs présentent dans le fichier.
Voici un exemple de validation d’un fichier Excel :
Vous pouvez télécharger le code complet sur Github.