ماذا تشير سمة "S" في علامة الخلية في XLSX
سؤال
في XML من ورقة العمل في علامات خلايا ملف XLSX (Excel 2007) التي تحتوي على سمة "T" تساوي "S" أنواع السلسلة. يجب البحث عن علامة القيمة داخل C وتحويلها عبر وثيقة SquareStrings. ولكن ، بعض الخلايا لديها s = "237" ولا توجد سمة على الإطلاق. تحتوي علامة القيمة على عدد صحيح مثل 39448 لا يرتبط بمستند المشاركين. القيمة كما تظهر في Excel هي تاريخ 1/1/2008.
ماذا تشير سمة S في علامة AC في XLSX؟
قيمة غير معروفة
<c r="B47" s="237">
<v>39448</v>
</c>
قيمة السلسلة المشتركة
<c r="C47" t="s">
<v>7</v>
</c>
المحلول
تشير سمة S إلى نمط. "237" هو نمط محدد في ملف STYLES.XML.
<v>39448</v>
... على الأرجح تاريخ في شكل مزدوج. ويطلب النمط 237 Excel لعرضه 39448 في تنسيق التاريخ.
يمكنك رؤية مثال على كيفية عمل هذا هنا: http://blogs.msdn.com/b/brian_jones/archive/2007/05/29/simple-spreadsheetml-file-bart-3-formatting.aspx
نصائح أخرى
تشير سمة S التي تساوي 237 ، تشير إلى العنصر 237 الموجود في العنصر الأصل في ملف STYLES.XML الموجود في ملف XLSX.
إذا كانت قيمة الخلية تاريخًا ، فقد يكون العنصر مشابهًا للرمز التالي
<xf numFmtId="167"
fontId="6"
fillId="0"
borderId="6"
xfId="3"
applyNumberFormat="1"
applyFont="1"
applyFill="1"
applyBorder="1"
applyAlignment="1">
<alignment horizontal="center"/>
</xf>
في هذه المرحلة ، لا نرى أن هذه الخلية تمثل نوع التاريخ. لفهم ذلك ، يجب أن نجدu003CnumFmtId> مع "167" كمفتاح.
يمكن العثور على هذه القيمة في ملف styles.xml
<numFmts count="7">
<numFmt numFmtId="164" formatCode="[$-409]d\-mmm\-yy;@"/>
<numFmt numFmtId="165" formatCode="0.000"/>
<numFmt numFmtId="166" formatCode="0.0"/>
<numFmt numFmtId="167" formatCode="[$-409]d\-mmm\-yyyy;@"/>
<numFmt numFmtId="168" formatCode="0.0%"/>
<numFmt numFmtId="169" formatCode="00000"/>
<numFmt numFmtId="170" formatCode="0.0000"/>
</numFmts>
يشير السطر مع numFMTID = "167" إلى أن قيمة الخلية هي تاريخ تنسيق باستخدام السلسلة التالية [$ -409] d-mmm-yyyy ؛@"
في السيرة الذاتية ، للعثور على ما إذا كانت الخلية تحتوي على رقم أو تاريخ يجب علينا
- ابحث عن سمة S (= النمط)u003Cc> عنصر
- ابحث عن السمة numfmtid منu003Cxf> عنصر في ملف STYLES.XML في ملف XLSX.
- ابحث عن سمة تنسيق الرمزu003CnumFmt> الذي يحتوي على numfmtid كمفتاح
- معرفة ما إذا كان التنسيق هو تنسيق تاريخ أو تنسيق رقم
آمل أن يساعد ذلك الآخرين.