当我使用OpenXML阅读Excel工作表时,我的值与Excel中的单元格值不同。这发生在OpenXML生产力工具,我的代码中,以及当我将扩展名更改为.zip并在浏览器中查看XML时。例如,这是我的Excel工作表的一部分(对不起,我没有足够的“声誉”在此处发布工作表的图像):
SAMPLE ID ANALYTE ID RESULT QUANTIFIER RESULT
782-3M-000085 75-35-4 < 0.11
782-3M-000085 56-23-5 < 0.0006
782-3M-000085 156-59-2 < 0.497
782-3M-000085 75-69-4 < 0.0009
782-3M-000085 67-66-3 < 0.008
782-3M-000085 76-13-1 < 0.006
782-3M-000085 127-18-4 1.79
XML看起来像这样(部分):
<row r="1" spans="1:18" ht="38.25" x14ac:dyDescent="0.2">
<c r="A1" s="30" t="s">
<v>103</v>
</c>
<c r="B1" s="30" t="s">
<v>6</v>
</c>
<c r="C1" s="30" t="s">
<v>24</v>
</c>
<c r="D1" s="30" t="s">
<v>104</v>
</c>
<c r="E1" s="30" t="s">
<v>105</v>
</c>
</row>
<row r="2" spans="1:18" x14ac:dyDescent="0.2">
<c r="A2" t="s">
<v>48</v>
</c>
<c r="B2" t="s">
<v>115</v>
</c>
<c r="C2" s="36" t="s">
<v>116</v>
</c>
<c r="D2">
<v>0.11</v>
</c>
<c r="E2" t="s">
<v>117</v>
</c>
</row>
<row r="3" spans="1:18" x14ac:dyDescent="0.2">
<c r="A3" t="s">
<v>48</v>
</c>
<c r="B3" t="s">
<v>123</v>
</c>
<c r="C3" s="36" t="s">
<v>116</v>
</c>
<c r="D3">
<v>5.9999999999999995E4</v>
</c>
</row>
<row r="4" spans="1:18" x14ac:dyDescent="0.2">
<c r="A4" t="s">
<v>48</v>
</c>
<c r="B4" t="s">
<v>124</v>
</c>
<c r="C4" s="36" t="s">
<v>116</v>
</c>
<c r="D4">
<v>0.497</v>
</c>
</row>
有人知道我在做什么错吗?我正在尝试将工作表中的值导入到我的代码中。
@psantiago是正确的-您正在处理“共享字符串”。
单元格元素的't'属性告诉您单元格-元素中的数据类型。(OpenXml标准中的18.3.1.4节)。在这种情况下,“ s”值告诉您该值是SharedStrings文件的索引。(第18.18.11节ST_CellType(单元格类型))。因此,在SharedStrings.xml文件中的索引48处,您将找到所需的信息。
还要查看与包含值“ 0.11”的单元格之间的差异。
<c r="D2">
<v>0.11</v>
</c>
它没有“单元格数据类型”属性,因此直接在单元格中的值就是“ 0.11”。
您可以在http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html上获取完整文档-在页面上搜索“ ISO / IEC 29500-1:2012”
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句