如何更新Excel单元格值“2009.03”而不是“2009.3”

我将Excel Worksheet单元格值更新为2009.03,并将其更改为2009.3。

我尝试了可能的方法来解决这个问题,但是在服务器上价值总是变成了“2009.3”而不是“2009.03”。 它在我的系统上工作,但不在Win XP 2003 Server System上。

我曾经把excel单元格的格式设置为“@”,“0.00”,“####。##”,甚至试图在值之前连接“'”,但结果没有出现。 excel文件是2007格式(.xlsx)。 >我的代码是

Microsoft.Office.Interop.Excel.Workbook WorkBook = null; Microsoft.Office.Interop.Excel.Worksheet Sheet = null; WorkBook = Utility.GetWorkbook2007(templateFileWPath); Sheet = (Microsoft.Office.Interop.Excel.Worksheet)WorkBook.Worksheets[1]; Microsoft.Office.Interop.Excel.Range TPCellRange = (Microsoft.Office.Interop.Excel.Range)Sheet.Cells[this.GetRowIndex(Sheet, this.CellAddress), this.GetColumnIndex(Sheet, this.CellAddress)]; TPCellRange.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault,"2009.03"); 

或者也尝试过

 CellValueRange.NumberFormat = "@"; CellValueRange.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault, "2009.03"); 

这似乎很奇怪。 它可以解释为一个date的数字(和格式化有和没有前导零的月份)? 你在文化中使用了一段时间作为date分隔符吗(或者更具体地说,是在机器设置的文化中)?

另外,我对Excel API不熟悉,但是您使用的函数听起来更像是试图设置范围,而不是在单元格中设置值。

如果你做以下事情会发生什么?

 TPCellRange.Formula = 2009.03;