我有一个.NET Windows窗体应用程序,我需要将一个8位数字代码列表复制到剪贴板中以粘贴到Excel工作表。
string tabbedText = string.Join("\n", codesArray);
Clipboard.SetText(tabbedText);
问题是,当代码以一个或多个零开头(例如“00001234”)时,它会被粘贴为数字,并且修剪零。
有没有办法设置剪贴板文本以便Excel将其作为文本接受?
答案 0 :(得分:3)
我会在Excel中处理这个问题(而不是在你的应用程序programaticaly)。格式化要作为文本处理的单元格,然后从剪贴板然后粘贴。这种方式始终粘贴前导零。
答案 1 :(得分:1)
编辑:这在Excel中不起作用,因为撇号会被粘贴并显示出来。我在这里留下答案作为一个明确的声明,这种方法对Excel没有帮助。 但它确实适用于OpenOffice Calc 。
“告诉”Excel将字符串视为字符串的标准方法是在其前面加上撇号。你尝试过类似的东西吗?
string tabbedText = "'" + string.Join("\n'", codesArray);
(请注意那里的额外撇号......有点难以看到)。
当然,如果您计划在Excel计算中使用此值,这可能会导致问题,但也有办法处理它。