syncfusion xlsio 将列类型从文本更改为数字
syncfusion xlsio change column type from text to number
我有一个从网页获取的 .xlsm 文件。这个文件是一个导出的数据库,它有写成文本的数字数据,不能在公式中使用的数字信息,因为excel认为它是文本。
将列数据类型从文本转换为数字的最有效方法是什么?
现在我只能用 for 循环来完成它,但是这个文件最多可以有 10.000 个寄存器。
for (int i = 2; i <= 10002; i++)
{
sheet.Range["A"+i.ToString()].Number = sheet.Range["A" + i.ToString()].Text;
}
我也试过使用数字格式属性,但似乎没有关系
sheet.Range["A2:A10002"].NumberFormat = "#";
这里是 Excel 文件的示例。
https://drive.google.com/file/d/1Kz98NDYsj7k7zCmGyl-ohz_VErnsyGvV/view?usp=sharing
当数字存储为文本时,Syncfusion XlsIO 不支持 Microsoft Excel 的转换为数字选项。而且,除了如下循环和设置数字格式外,没有其他有效的方法可以实现这一目标。
代码片段:
for (int i = 2; i <= 10002; i++)
{
double value;
string rowString = i.ToString();
if (double.TryParse(sheet.Range["A" + rowString].Value, out value))
{
sheet.Range["A" + rowString].Number = value;
sheet.Range["A" + rowString].NumberFormat = "0";
}
}
注意:我为 Syncfusion 工作。
我有一个从网页获取的 .xlsm 文件。这个文件是一个导出的数据库,它有写成文本的数字数据,不能在公式中使用的数字信息,因为excel认为它是文本。
将列数据类型从文本转换为数字的最有效方法是什么? 现在我只能用 for 循环来完成它,但是这个文件最多可以有 10.000 个寄存器。
for (int i = 2; i <= 10002; i++)
{
sheet.Range["A"+i.ToString()].Number = sheet.Range["A" + i.ToString()].Text;
}
我也试过使用数字格式属性,但似乎没有关系
sheet.Range["A2:A10002"].NumberFormat = "#";
这里是 Excel 文件的示例。 https://drive.google.com/file/d/1Kz98NDYsj7k7zCmGyl-ohz_VErnsyGvV/view?usp=sharing
当数字存储为文本时,Syncfusion XlsIO 不支持 Microsoft Excel 的转换为数字选项。而且,除了如下循环和设置数字格式外,没有其他有效的方法可以实现这一目标。
代码片段:
for (int i = 2; i <= 10002; i++)
{
double value;
string rowString = i.ToString();
if (double.TryParse(sheet.Range["A" + rowString].Value, out value))
{
sheet.Range["A" + rowString].Number = value;
sheet.Range["A" + rowString].NumberFormat = "0";
}
}
注意:我为 Syncfusion 工作。