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