我通过Excel电子表格分析和有一些问题,一些值,因此在计算器成员的建议,我评价他们为共享字符串。 然而,现在一些单元格值不共享字符串和我的条件还评估为真,这意味着他们SharedStrings。 所以我想知道如果我评估这些代码是正确的或可能有一些错误的Excel电子表格我一直在使用。 这里是有条件的一个例子,在这种情况下应评估为假的serialNumber列不是共享字符串,但它被评价为它是一个共享字符串,因此将导致程序崩溃。
bool isSharedString = (((Cell)r.ChildElements[0]).DataType.Value == CellValues.SharedString);
row["SerialNumber"] = isSharedString ? stringTable.SharedStringTable.ElementAt(int.Parse(r.ChildElements[0].InnerText)).InnerText : r.ChildElements[0].InnerText;
这对于我一起工作的行内外部XML代码。 非共享的串的,仅仅是A2和G2。
<x:row r="2" spans="1:14" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<x:c r="A2"><x:v>20000001</x:v></x:c>
<x:c r="B2" t="s"><x:v>14</x:v></x:c>
<x:c r="C2" s="1" t="s"><x:v>19</x:v></x:c>
<x:c r="D2" t="s"><x:v>19</x:v></x:c>
<x:c r="E2" t="s"><x:v>19</x:v></x:c>
<x:c r="F2" t="s"><x:v>19</x:v></x:c>
<x:c r="G2"><x:v>0</x:v></x:c>
<x:c r="H2" t="s"><x:v>19</x:v></x:c>
<x:c r="I2" t="s"><x:v>19</x:v></x:c>
<x:c r="J2" t="s"><x:v>20</x:v></x:c>
<x:c r="K2" t="s"><x:v>22</x:v></x:c>
<x:c r="L2" t="s"><x:v>20</x:v></x:c>
<x:c r="M2" t="s"><x:v>22</x:v></x:c>
<x:c r="N2" t="s"><x:v>19</x:v></x:c>
</x:row>