Interop.Excel-读取数据类型

本文关键字:数据类型 读取 Excel- Interop | 更新日期: 2023-09-27 18:26:32

我正在将excel文件读取到c#中,我只需要以数字开头的Rows。所有单元格的格式均为"常规"。我试着测试第一列中的值是否为Double,结果成功了。但是有些行以"1"开头,有些行的小数位数为"1.1"。如何从小数中对整数进行排序?将它们视为字符串并测试"."?我在excel中的格式选项似乎要么是数字,要么不是。我不能指定int、double或任何东西。我怎样才能做到这一点?

Interop.Excel-读取数据类型

如果您只使用Excel 2007/2010(*.xlsx)文件,那么您可以使用官方的Microsoft程序集(Open XML SDK),该程序集具有许多强大的未来功能(包括按任何条件进行的行筛选):http://www.microsoft.com/en-us/download/details.aspx?id=5124

这符合我的目的。我只能读取以数字开头的行,并从小数中筛选出整数(显示的是整数)。谢谢你的帮助。

        Worksheet sheet = (Worksheet)workbook.Sheets[1];
        Range excelRange = sheet.UsedRange; 
        object[,] valueArray = (object[,])excelRange.get_Value(XlRangeValueDataType.xlRangeValueDefault);
        for (int i = 1; i <= excelRange.Rows.Count; i++)
        {
            if (valueArray[i, 1] is Double)
            {                   
                if (!valueArray[i, 1].ToString().Contains("."))
                {
                    sb.AppendLine(valueArray[i, 1].ToString()); 
                }
            }
        }