2017-05-30 47 views
1

いくつかのカスタムプロパティを持つ特定のバージョンのOpenXML-Excelドキュメントがあります。私は、そのファイルのXML構造を見てみると、これらのプロパティは.\customXml\item2.xmlの下に格納されます。openXMLでカスタムプロパティとバージョンを取得

(その一部)

<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> 

また、このファイルも有効に改訂されています。

今、私はOpenXMLの(またはClosedXML)を使用してこれらの値を読み取る必要が

私はこれらのデータを受信するために、以下にしようとしました。 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; 
    } 
} 

両方のアプローチは、オブジェクトのいずれかに保存されたカスタムプロパティのいずれかを含んでいなかった(小道具、custprops、coreprops、extrprops)

どのようにすることができます私はそれらの情報をOpenXML-Wayで収集しますか?

のOpenXML SDK 2.5を使用して

答えて

-1

あなたはCustomPropertiesPartを取得するが、あなたはそれからプロパティを取得する必要があります:

CustomFilePropertiesPart customPropsPart = doc.CustomFilePropertiesPart; 
DocumentFormat.OpenXml.CustomProperties.Properties props = customPropsPart.Properties; 

foreach (DocumentFormat.OpenXml.CustomProperties.CustomDocumentProperty prop in props) 
{ 
    //do what you want to do... in my case I have only one Text property... 
    String propName = prop.Name; 
    String value = prop.VTLPWSTR.InnerText; 
} 
+0

私の性質がある** CUSTOMPROPERTIESの内側に保存されません。私は "\ docProps \ custom.xml"の "ContentTypeId"という名前のカスタムプロパティしか持っていませんが、上記のパスではありません –

+0

各ドキュメントの周りにスヌーピングをしましたか?例えば、IEnumerable 部分= doc.GetPartsOfType (); –

関連する問題