2017-10-09 107 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請提供您的數據樣本。 –