2009-10-21 69 views
2

我有一個獨立應用程序,我試圖將JTable的內容複製到Excel中,並在我的JTable單元格中包含換行符。我已經使用"\""來包裝我的單元格內容。它工作正常,但我得到一個方形框符號類型的位置代替Excel中的換行符。如何在複製時刪除符號?有沒有辦法做到這一點?將JTable內容複製到Excel時出現問題

回答

1

Excel希望DOS/Windows換行符("\r\n")代替Unix/Java(僅"\n")。爲了解決這個問題,使用此代碼:

s = s.replace("\r\n", "\n").replace("\n", "\r\n"); 

第一部分可以確保你沒有任何DOS/Win的換行,然後一切都轉換爲DOS。

如果您遇到Java 1.4,請使用replaceAll()

[編輯]方框意味着字符串中有一個不可打印的字符。我建議用Excel創建一個文件,其中包含單元格中的換行符並檢查Excel使用哪些字符。

+0

謝謝你的回覆..通過替換使用s.replace(「\ r \ n」,「\ n」)來嘗試。replace(「\ n」,「\ r \ n」); 但箱子仍然出現在Excel中。這個是我的代碼: S =(String)「\」「+ mProcessQuestionTestItemTable.getValueAt(rowsselected [i],colsselected [j])+」\「」; S = S.replace(「\ r \ n」,「\ n」)。replace(「\ n」,「\ r \ n」); stringbuffered.append(S); – Bharath 2009-10-21 11:32:07

+0

查看我的編輯。 。 – 2009-10-21 14:09:16

+0

我已經編寫了將Excel的內容粘貼到Jtable的代碼 我按照你的說法試過,我追溯了excel的內容,但是我發現除「\ n」以外的任何特殊字符或符號。 在Excel中,要轉到單元格中的下一行,我們需要按Alt + Enter。 我們是否需要捕獲該alt + Event,並用這些Alt + Enter事件替換jtable中的\ n's。如果複製該方框並粘貼到另一個單元格中,則alt + enter事件正在發生,即單元格內的新行。 任何人都可以幫我嗎? 謝謝 – Bharath 2009-10-22 05:46:44

相關問題