C# Interop.Excel-读取数据类型
我正在将excel文件读入c#,只需要以数字开头的行。所有单元格的格式均为“常规”。我试着测试第一列中的值是否为Double,结果成功了。但有些行以“1”开头,有些行有小数位“1.1”。如何从小数中对整数进行排序?将它们视为字符串并测试“.”?我在excel中的格式选项似乎是一个数字,或者单元格是一个数字,或者不是。我不能指定int、double或任何东西。我怎样才能做到这一点 如果您只使用Excel 2007/2010(*.xlsx)文件,那么您可以使用官方的Microsoft assembly(开放式XML SDK),它有许多强大的未来功能(包括按任何条件进行行过滤):这是为了我的目的。我只能读取以数字开头的行,并从小数中过滤出整数(显示的是整数)。谢谢你的帮助C# Interop.Excel-读取数据类型,c#,excel,C#,Excel,我正在将excel文件读入c#,只需要以数字开头的行。所有单元格的格式均为“常规”。我试着测试第一列中的值是否为Double,结果成功了。但有些行以“1”开头,有些行有小数位“1.1”。如何从小数中对整数进行排序?将它们视为字符串并测试“.”?我在excel中的格式选项似乎是一个数字,或者单元格是一个数字,或者不是。我不能指定int、double或任何东西。我怎样才能做到这一点 如果您只使用Excel 2007/2010(*.xlsx)文件,那么您可以使用官方的Microsoft assembl
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());
}
}
}
工作表工作表=(工作表)工作簿工作表[1];
范围excelRange=sheet.UsedRange;
对象[,]值数组=(对象[,])excelRange.get_值(XlRangeValueDataType.xlRangeValueDefault);
对于(int i=1;我想区分
1
、1.00000000
和1.00002312
?不,这是类别和子类别的概要。2.6、10.2…这就是它的范围。如果有双精度,则(val%1)==0
表示整数。如果超过小数点,则相反。