J'ai un document OpenXML-Excel dans une version spécifique avec des propriétés personnalisées. Quand je regarde la structure xml-de ce fichier, ces propriétés sont stockées sous .\customXml\item2.xml
:Obtention de propriétés personnalisées et d'une version avec openXML
(partie de celui-ci)
<xsd:all>
<xsd:element ref="ns2:Status"/>
<xsd:element ref="ns2:Duedate" minOccurs="0"/>
<xsd:element ref="ns2:SpId" minOccurs="0"/>
<xsd:element ref="ns2:TemplateName" minOccurs="0"/>
<xsd:element ref="ns2:MailSent" minOccurs="0"/>
<xsd:element ref="ns2:Company" minOccurs="0"/>
<xsd:element ref="ns2:WeeklyReminderSent" minOccurs="0"/>
<xsd:element ref="ns2:DailyReminderSent" minOccurs="0"/>
</xsd:all>
En outre, ce fichier a également permis des révisions.
Maintenant je dois lire ces valeurs à l'aide OpenXML (ou ClosedXML)
J'essayées à la suite de ces données reçues. ClosedXML:
var workBook = new ClosedXML.Excel.XLWorkbook("myfile.xlsx");
var props = workBook.Properties;
var custProps = workBook.CustomProperties;
OpenXML:
using (FileStream fs = new FileStream("myfile.xlsx", FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (SpreadsheetDocument doc = SpreadsheetDocument.Open(fs, false))
{
var coreprops = doc.CoreFilePropertiesPart;
var custprops = doc.CustomFilePropertiesPart;
var extprops = doc.ExtendedFilePropertiesPart;
}
}
Les deux approches ne contenaient aucune des propriétés personnalisées stockées dans l'un des objets (accessoires, custprops, coreprops, extrprops)
Comment Je collectionne ces informations sur OpenXML-Way?
Mes propriétés sont ** ** PAS stockés à l'intérieur des CustomProperties. J'ai seulement une propriété personnalisée avec le nom "ContentTypeId" là, qui est de "\ docProps \ custom.xml", mais PAS du chemin mentionné ci-dessus –
Avez-vous déjà essayé de fouiner autour de la partie de chaque document? par exemple IEnumerable parts = doc.GetPartsOfType (); –