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