如何使用开放 XML 检索 excel 的文化信息?
Posted
技术标签:
【中文标题】如何使用开放 XML 检索 excel 的文化信息?【英文标题】:How to retrieve culture info of excel with open XML? 【发布时间】:2016-08-11 08:21:45 【问题描述】:我的 excel 文件中的数值用“.”存储。小数分隔符。我想知道,excel总是使用“。”作为小数分隔符?如果没有,那么如何检索excel文件的文化信息以正确格式化十进制值?
谢谢。
【问题讨论】:
您找到如何检索 Excel 文件 CultureInfo 了吗? 【参考方案1】:我遇到了同样的问题,并检查了电子表格的所有 XML 文件中的语言代码。
我没有找到任何语言代码,所以我假设数字格式是英语(en-US)。
这是我读取列并将其解析回 (ToString) 到我当前文化的代码。
private string GetCellValue(Cell cell, SharedStringTable stringTable)
string value = string.Empty;
if ((cell.DataType != null) && (cell.DataType == CellValues.SharedString))
int stringId = int.Parse(cell.CellValue.Text);
value = stringTable.ChildElements[stringId].InnerText;
else if (cell.CellValue != null)
value = cell.CellValue.Text;
if (decimal.TryParse(value, NumberStyles.Any, CultureInfo.GetCultureInfo("en-US"), out var number))
value = number.ToString();
return value;
您还可以检查cell.DataType
属性的Number
类型。
【讨论】:
以上是关于如何使用开放 XML 检索 excel 的文化信息?的主要内容,如果未能解决你的问题,请参考以下文章
excel中,如何实现从一个表中检索数据,并排列到另一个表中。
一种基于结构信息检索文档的思路(html,pdf,html,xml,doc,ppt,这样的异构文档应该如何检索呢?)