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を使用して
私の性質がある** CUSTOMPROPERTIESの内側に保存されません。私は "\ docProps \ custom.xml"の "ContentTypeId"という名前のカスタムプロパティしか持っていませんが、上記のパスではありません –
各ドキュメントの周りにスヌーピングをしましたか?例えば、IEnumerable部分= doc.GetPartsOfType (); –