OpenXML电子表格以逗号分隔的数字表示内容错误

时间:2016-05-27 21:09:45

标签: c# excel csv openxml

我在C#webrform项目中使用OpenXML创建Excel文档。

在一个单元格中,我输入了一个ID,在某些情况下,多个ID用逗号分隔,类似于:

**ID1**         **ID2**
10756409    3090,3093,3130
10776516    3105
10806938    3123
10817453    3090,3093,3100

两列中的每个单元格都有 CellValues.String DataType。

当我打开电子表格时,我得到 “发现内容有问题。您希望我们恢复......” 警告。

当我单击是时,数据很好,但是具有CSV值的单元格被保持正确(与非CSV值的右对齐相反)具有绿色角落并且说 此单元格格式为文本或前面有撇号

如何在没有警告的情况下打开Excel?

1 个答案:

答案 0 :(得分:1)

如果要忽略警告消息。 您可以使用SAX方法尝试以下代码:

openXMLWriter.WriteElement(new IgnoredErrors(new IgnoredError()
{
   SequenceOfReferences = new ListValue<StringValue> 
   { 
      InnerText = "A1:Z100" 
   },
   NumberStoredAsText = true
}));

它应该创建以下xml标记:

<ignoredErrors>
  <ignoredError sqref="A1:Z100" numberStoredAsText="1"/>
</ignoredErrors>

调整细胞范围以满足您的需要。