我正在通过C#Stringbuilder生成一个文本块,其中包含适当的制表符分隔文本(新行,“\ t”等),并在我的Web应用程序中的标记内显示文本。如果我将其复制/粘贴到Excel,则所有文本都会粘贴到电子表格的第一列。
如果我复制块的外部HTML(Chrome)或复制/粘贴到Notepad ++中然后粘贴到Excel,则所有数据都会整齐地粘贴到单个单元格中 - 这是此工作的理想结果。谁能告诉我我需要做什么才能从我的应用程序中复制文本并将其粘贴到Excel中,以便文本粘贴到单个单元格中(即保持制表符分隔格式)?
答案 0 :(得分:2)
不幸的是,似乎需要额外的步骤。
Excel(以及许多其他应用程序)中粘贴的默认行为是使用剪贴板内容的原始格式。
从Web应用程序/ HTML页面进行复制将导致剪贴板内容被标记为HTML。剪贴板内容将具有制表符,但是当HTML将制表符呈现为空格时(如果有多个制表符,则压缩为单个空格) - 仅使用control-V会将制表符转换为空格和空格。粘贴到Excel时,内容将出现在单个单元格中。
您需要使用" Paste Special"选项&选择" 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然后重新复制将格式设置为文本 - 这就是这些方法有效的原因。
答案 1 :(得分:1)
我能够粘贴到Excel并通过将我的文本写入的元素从div更改为textarea来保留格式。将texv从textarea复制/粘贴到制表符分隔的Excel电子表格,可以在粘贴时以表格格式保存数据。谢谢大家的帮助。
答案 2 :(得分:0)
答案 3 :(得分:0)
旧话题,但是我有这个。每天需要从输出到Google Chrome浏览器的程序中复制某些内容。每当将其复制并粘贴到excel中时,它就会进入1个单元格。但是,如果我控制全部并粘贴就可以了。
我发现您只能复制所需的行,并且如果您不将光标一直向下拖动到页面之外,它将表现为所需的行。即,如果您更仔细地突出显示屏幕右下角的最后一条信息,则当您精益求精时,会将其粘贴为制表符分隔的内容。而如果您将其向下拖动,则会将其全部粘贴到1个单元格中。将来可能会帮助拥有此功能的人。
答案 4 :(得分:-1)
您可以在Excel中使用“text to columns”按照您希望的方式格式化数据。
将数据粘贴到Excel后,选择包含数据的列。
如果您不想使用此额外步骤,则以下内容适用于Excel 2013: