在Excel中读取每行具有不同类型信息的列
本文关键字:同类型 信息 Excel 读取 | 更新日期: 2023-09-27 18:23:35
我正试图用我编写的程序读取Excel文档,根据读取的信息,更改UI上的某些字段,我遇到了一个有趣的问题。
我的一个专栏可能包含4种不同类型的数据。行中的每个单元格都可能包含一个数字,一个以文本、文本或什么都不存储的数字。
这是我用来阅读本专栏的代码部分:
try
{
string dtTerritory = dt.Rows[0].Field<string>("Territory");
cmbTerritory.SelectedItem = dtTerritory;
territory = dtTerritory;
}
catch
{
double dtTerritory = dt.Rows[0].Field<double>("Territory");
cmbTerritory.SelectedItem = dtTerritory.ToString();
territory = dtTerritory.ToString();
}
我遇到的问题是读取一个以文本形式存储的数字,问题是,当数字以文本形式保存在Excel工作表上时,它总是以3个字符的形式存储。因此,如果数字是3,则存储为"3"(3后面有2个空格);如果数字是46,则存储"46"(46后面有1个空格)。
因此,我本质上是在寻找最好的解决方案,如何让我的程序忽略数字后面的空格。有什么想法吗?
我只是将数据读取为文本,然后对其进行处理,看看是否可以将其转换为数字。
因此,在第一个例子中,您需要修剪文本:
dtTerritory = dtTerritory.Trim();
然后检查它是否为空字符串:
if (!string.IsEmptyOrWhileSpace(dtTerritory))
{
// Process further
}
然后,您的进一步处理是尝试解析文本:
double value;
if (double.TryParse(dtTerritory, out value))
{
// do your double value handling here.
}