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

我通过C#Stringbuilder生成了一段文本,并带有适当的制表符分隔的文本(换行符,“\ t”等),并在我的web应用程序的标签中显示文本。 如果我复制/粘贴到Excel,所有的文本粘贴到电子表格的第一列。

如果我复制块(Chrome)的外部HTML或复制/粘贴到记事本++然后粘贴到Excel,所有的数据整齐地粘贴到单个单元格 – 这是努力的结果。 任何人都可以告诉我,为了能够从我的应用程序复制文本,并将其粘贴到Excel中,以便文本粘贴到单个单元格(即保持制表符分隔的格式),我需要做什么?

您可以在Excel中使用“文本到列”来按照您希望的方式格式化数据。

将数据粘贴到excel后,select包含您的数据的列。

  1. 转到数据 – 点击“文本到列”
  2. select分隔,然后点击
  3. selectTab并点击完成。

如果您不想使用这个额外的步骤,Excel 2013的以下工作:

  1. 转到首页,粘贴选项,然后点击“使用文本导入向导”
  2. select分隔,然后点击
  3. selectTab并点击完成。

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

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

从Web应用程序/ HTML页面复制将导致剪贴板内容被标记为HTML。 剪贴板的内容将有制表符,但是当HTML将制表符显示为空格时(如果有多个制表符压缩为单个空格) – 只要使用control-V将制表符转换为空格,当内容出现在单个单元格中时粘贴到Excel中

您将需要使用“select性粘贴”选项并select“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,然后重新复制将格式设置为文本 – 这就是为什么这些方法可以工作。

尝试这个 ,

在粘贴数据之前,将excel的文本设置为列分隔符,然后尝试再次粘贴您的值。

在这里输入图像说明

我能够粘贴到Excel,并通过更改我的文本从div到textarea写入的元素保持格式。 从textarea复制/粘贴tsv到一个制表符分隔的Excel电子表格将粘贴数据格式化为表格格式。 感谢所有的帮助。