将数字代码复制到剪贴板并粘贴到Excel,而不将其格式化为数字

我有一个.NET Windows窗体应用程序,我需要复制一个8位数字代码列表到剪贴板粘贴到Excel工作表。

string tabbedText = string.Join("\n", codesArray); Clipboard.SetText(tabbedText); 

问题在于,当一个代码以一个或多个零开始(例如“00001234”)时,它被粘贴为数字,零被修剪。

有没有办法如何设置剪贴板文本,以便Excel将其作为文本接受?

我会在Excel中处理这个问题(而不是在你的应用程序中)。 将单元格格式化为文本, 然后从剪贴板粘贴。 这种方式主导零总是粘贴。

编辑:这不能在Excel中工作,因为撇号被粘贴并显示。 我将这个答案留在这里作为一个明确的声明,这种方法对Excel不会有帮助。 它虽然可以用于OpenOffice Calc

“告诉”Excel将string视为string的标准方法是用撇号加前缀。 你有没有试过类似的东西:

 string tabbedText = "'" + string.Join("\n'", codesArray); 

(注意那里的额外的撇号…这有点难以看到)。

当然,如果你计划在Excel计算中使用这个值,这可能会导致你的问题,但也有办法处理。