如何使用开放 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 的文化信息?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过读取XML配置文件导入Excel文件到数据中

excel中,如何实现从一个表中检索数据,并排列到另一个表中。

使用 Excel VBA 解析和更新 XBA

一种基于结构信息检索文档的思路(html,pdf,html,xml,doc,ppt,这样的异构文档应该如何检索呢?)

一种基于结构信息检索文档的思路(html,pdf,html,xml,doc,ppt,这样的异构文档应该如何检索呢?)

保存用 rest 和 php 检索到的 XML