我正在将数据写入Excel工作表,并且我正在使用interop将数字格式应用于单元格范围。代码工作正常,当我打开excel表格时,格式正在应用于单元格,但它不起作用(就像我右键单击并检查单元格的格式,它是数字,但单元格值显示为文本)。
我使用下面的代码来设置格式
Excel.Range range = objWorksheet.get_Range("B2").EntireColumn;
range.NumberFormat = "0";
当我打开excel时,单元格格式为Number但显示为文本。
答案 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
我们可以做更多的事情,但我们需要了解更多关于如何编写数据的信息。