制表符分隔的文本复制粘贴到 Excel

joe*_*dix 3 c# excel tab-delimited-text

我正在通过 C# Stringbuilder 生成一个文本块,带有适当的制表符分隔文本(新行、“\t”等)并在我的 Web 应用程序的标签内显示文本。如果我将其复制/粘贴到 Excel,则所有文本都会粘贴到电子表格的第一列中。

如果我复制块 (Chrome) 的外层 HTML 或复制/粘贴到 Notepad++ 中,然后粘贴到 Excel,则所有数据都会整齐地粘贴到单个单元格中 - 这是这项工作的预期结果。谁能告诉我我需要做什么才能从我的应用程序中复制文本并将其粘贴到 Excel 中,以便文本粘贴到单个单元格中(即,保持制表符分隔格式)?

Pau*_*ulF 5

不幸的是,似乎需要一个额外的步骤。

Excel(和许多其他应用程序)中粘贴的默认行为是使用剪贴板内容的原始格式。

从 Web 应用程序/HTML 页面复制将导致剪贴板内容被标记为 HTML。剪贴板内容将具有制表符,但由于 HTML 将制表符呈现为空格(如果有多个制表符,则压缩为单个空格) - 仅使用 control-V 会将制表符转换为空格,并且内容将出现在单个单元格中时粘贴到Excel..

您将需要使用“选择性粘贴”选项并选择“Unicode 文本”以保留选项卡。默认情况下无法设置:https : //answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_windows8-mso_365hp/how-to-change-default-paste-behavior-with-ctrl- v/f58da075-8fd5-4c80-a64b-5e71ec8ad38b?auth=1

复制Chrome的outerHTML首先将剪贴板格式设置为文本,粘贴到Notepad ++确实粘贴为文本而不是HTML,然后重新复制将格式设置为文本 - 这就是这些方法起作用的原因。