2009-10-21 65 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

相关问题