C# 在C中仅发送数字时,如何强制Excel将字段类型保持为文本#

C# 在C中仅发送数字时,如何强制Excel将字段类型保持为文本#,c#,excel,C#,Excel,我正试图通过C#将条形码中的一些数据发送到excel工作表中。 我将列设置为文本并定义为文本,因为我需要在以后检索数据时这样做。 但由于excel只检测数字,因此它强制将字段类型设置为“常规”。 我有没有办法强迫它将字段类型始终保持为文本?我可以通过C#发送任何线路吗? 提前谢谢你。像这样: int val = 12345; Range r = worksheet.Range("A1"); r.Value = "'" + val.ToString(); 当您希望Excel将单元格中的任何内容解

我正试图通过C#将条形码中的一些数据发送到excel工作表中。
我将列设置为文本并定义为文本,因为我需要在以后检索数据时这样做。
但由于excel只检测数字,因此它强制将字段类型设置为“常规”。 我有没有办法强迫它将字段类型始终保持为文本?我可以通过C#发送任何线路吗?
提前谢谢你。

像这样:

int val = 12345;
Range r = worksheet.Range("A1");
r.Value = "'" + val.ToString();

当您希望Excel将单元格中的任何内容解释为文本时,最简单的方法是在条目前面添加一个撇号。例如,如果您编写项目符号列表,这可能很有用。Excel将解释

- this is the first point
'- this is the second point
作为一个等式(因为它是以负号开始的,对吧?)。这将导致
#NAME?
错误。然而,它将解释

- this is the first point
'- this is the second point
作为文本-它将显示在单元格中,而不显示
。见:

使用同样的想法,您可以简单地在从C#发送到excel的数字前面加一个撇号-因此,如果您想发送
12345
,请使用字符串
'12345


我相信你知道怎么用C#

写,你能在数字前面加一个撇号吗?这应该行得通。因此,将
12345
作为
'12345
发送。这就是excel将“任何东西”解释为文本的方式。我认为它是有效的。非常感谢@好的复制品。在做其他事情之前,我应该先检查一下右边的酒吧…@弗洛里斯,不用担心。我有时也会在检查副本之前回答。。。这感觉很自然,我想呵呵,不管这个问题是否有答案,最终还是投票决定以重复的方式结束,这是正确的做法:)对不起,各位,但还是谢谢你们的回答