【发布时间】:2019-01-07 15:44:38
【问题描述】:
当我使用 OpenXML 读取 Excel 工作表时,我的值与 Excel 中的单元格值不同。这发生在 OpenXML Productivity Tool、我的代码中以及当我将扩展名更改为 .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>
有人知道我做错了什么吗?我正在尝试将工作表中的值导入到我的代码中。
【问题讨论】:
-
我想你在问为什么 /xl/worksheets/sheet.xml 中没有显示字符串值?它们存储在单独的文件 /xl/sharedStrings.xml 中,以帮助减少重复字符串的使用。
-
我的工作表中的值在任何 XML 文件中都找不到。这对我来说真的很奇怪。我已经在 PowerPoint 中使用 OpenXML 做了很多工作,但从来没有使用 Excel。会不会是数据类型问题?
-
@CharlieHorse 请提供一个示例,说明您正在寻找的正是您在 xml 中没有看到的值。如果您发布了一个您认为有问题的实际工作簿的链接,那将是最好的。
-
我正在寻找“782-3M-000085”(这应该是一个字符串值)并得到“48”。
-
@CharlieHorse 您到底在哪里寻找那个字符串?如果我将您的数据粘贴到工作簿中,然后将其作为 xml 打开,则该字符串存在。和所有其他数据一样