Excel单元格格式问题

时间:2014-07-08 13:37:21

标签: c# excel excel-interop

我正在将数据写入Excel工作表,并且我正在使用interop将数字格式应用于单元格范围。代码工作正常,当我打开excel表格时,格式正在应用于单元格,但它不起作用(就像我右键单击并检查单元格的格式,它是数字,但单元格值显示为文本)。

我使用下面的代码来设置格式

Excel.Range range = objWorksheet.get_Range("B2").EntireColumn;
range.NumberFormat = "0";

当我打开excel时,单元格格式为Number但显示为文本。

enter image description here

2 个答案:

答案 0 :(得分:2)

Excel.Range oRange = objWorksheet.get_Range("A1:C10");
foreach(Excel.Range cell in oRange.Cells)
{
    cell.Formula = cell.Formula
}

如果我在完成写入过程后放上上面的代码就行了。

答案 1 :(得分:1)

您能否包括如何撰写数据?

我不确定这是一个至关重要的变化,因为即使数字在Excel中存储为文本,您仍然可以对其执行数学运算。

您可以进行许多更改。我将尝试概述一些。

你可以在右边的单元格中手动插入一个函数,只需使它等于列,并将数字存储为文本乘以1.这将创建一个包含一般格式单元格的列。

如果它必须在VBA中,你也可以在编写数据时尽可能简单地包含这个子:

Public Sub changetextnumbers()
       Range("A:A").Select 'Change to reflect the column
       With Selection
            Selection.NumberFormat = "General"
                     .Value = .Value
       End With
End Sub

我们可以做更多的事情,但我们需要了解更多关于如何编写数据的信息。