2017-10-09 900 views
1

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

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

回答

0

我可以粘贴到Excel,并通过改变我的文字中写道,从一个div到textarea的元素保持格式。将tsv从textarea复制/粘贴到制表符分隔的Excel电子表格中,可在粘贴时将数据格式化为表格格式。感谢所有的帮助。

0

您可以使用Excel中的'text to columns'按照您希望的方式格式化数据。

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

  1. 转到数据 - 点击“文本分列”
  2. 选择分隔和未来
  3. 选择选项卡,然后点击完成打。

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

  1. 转到主页,粘贴选项,然后单击“使用文本导入向导”
  2. 选择分隔并点击下一步
  3. 选择Tab并点击完成。
+0

谢谢...详细说明,我的电子表格已设置为接受制表符分隔的文本。这是一个最终用户,他们希望能够将制表符分隔的文本复制/粘贴到网页上并粘贴,而无需其他步骤(他的电子表格也默认为制表符分隔)。如果你复制outerHTML并粘贴到Excel中,这会工作。 – joesAppendix

+0

好的,这使得它更清晰一点。希望编辑适合你! – Roosz0rd

+0

我很欣赏这个答案,但我得到的指示是“不需要额外的步骤就可以粘贴到Excel中。”该文本应该粘贴到Excel中并保留其“表格”格式,就像它是一个tsv文件一样。 – joesAppendix

0

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

在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,然后重新复制将格式设置为文本 - 这就是为什么这些方法有效

0

试试这个,

之前粘贴数据集Excel的文本列分隔符空间和尝试再次贴上你的价值观。

enter image description here

+0

如果任何单元的预期内容都会包含空格 - 那么这将不起作用。 – PaulF

+1

是的,在这种情况下,它不会工作。 @joesAppendix请提供您的数据样本。 –