2

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

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

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

有没有办法设置剪贴板文本以便 Excel 接受它作为文本?

4

2 回答 2

3

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

于 2012-06-07T09:17:14.357 回答
1

编辑:这在 Excel 中不起作用,因为撇号被粘贴并显示出来。我将答案留在这里作为一个明确的声明,即这种方法对 Excel 没有帮助。它确实适用于 OpenOffice Calc

“告诉” Excel 将字符串视为字符串的标准方法是在其前面加上撇号。您是否尝试过类似的方法:

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

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

当然,如果您打算此后在 Excel 计算中使用此值,这可能会给您带来问题,但也有一些方法可以处理。

于 2012-06-07T09:15:22.463 回答