0

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

4

2 回答 2

1

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

于 2013-08-06T12:00:38.373 回答
0

This worked for my purpose. I am able to read only the rows that begin with a number and filter the whole numbers from the decimals (whole numbers shown). Thank you for your help.

        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()); 
                }
            }
        }
于 2013-08-06T14:53:59.117 回答