C#Excel格式化问题

时间:2013-08-05 08:40:36

标签: c# excel interop

我有一个我无法解决的问题。我正在将一些字符串写入Excel单元格。但Excel正在以错误的方式格式化它们。这些字符串是ID,例如12A1,12D1,12E1等。 一切都很好,除了“12E1”字符串,它被视为指数。我尝试使用numberformat但它不起作用。

例如,字符串“12E3”写为1.2e03或1200,依此类推。我只想看到那里写的“12E3”。该程序将被许多PC使用,因此我无法为每个人更改Microsoft Excel常规设置!

谢谢你,对不起我糟糕的英语!

编辑:这是代码:

foreach (var Citem in ComQuery)
{
    i++;
    xlWorkSheet.Cells[i, 1] = "'" + Citem.commessaID; //the item is "12D3"
    xlWorkSheet.Cells[i, 2] = Citem.commessaID;       //the item is "12D3"
}

第一个单元格给我字符串“12D3”,但在Excel上显示警告,第二个单元格给我1.2E + 004

2 个答案:

答案 0 :(得分:1)

xlWorkSheet.Cells[i, 2].NumberFormat = "@";
xlWorkSheet.Cells[i, 2] = Citem.commessaID;

答案 1 :(得分:0)

你可以这样做:

var id = "12E1"
ws.Range("A1").Value = "'" + id

将为您的单元格提供以下值:

'12E1