
使用JAVA操作Excel通常使用JXL. 该方法非常简单. 互联网上有许多教程,然后一些详细的问题常常使我们的程序员感到苦恼. 在过去的两天里,我帮助一个朋友制作了一个小型软件,该软件会自动生成Excel表,并且遇到了类似的问题.

问题描述: 即使通过换行操作在文本中使用了\ n符号,也可以通过Java将大量文本写入到Excel单元格中,当打开Excel表时,发现该文本无法遵循我们的预设方法换行符显示在一行中,从而导致整个Excel表显示混乱. 必须使用鼠标单击此单元格文本excel设置单元格宽度,以根据单元格的宽度和程序中的换行命令显示换行符的显示效果.

这很不舒服. 每次打开Excel时,都必须单击所有带有很多单词的单元格excel设置单元格宽度,以根据程序设置的显示模式进行显示.

但是,稍后考虑时,我只需要根据单元格设置的宽度/高度显示文本即可. API中应该有一个对应的方法,但是我没有找到它. 功夫注意了她. 在Google的帮助下,她终于在百朵花中被发现.

WritableFont fontTitle = new WritableFont(WritableFont.TIMES, 9, WritableFont.NO_BOLD);
fontTitle.setColour(jxl.format.Colour.RED);
WritableCellFormat formatTitle = new WritableCellFormat(fontTitle);
formatTitle.setWrap(true);
/*-------------------------------------------------------------------------*/
WritableSheet m_sheet = null;
m_sheet = m_writeBook.createSheet("第一页", 0);
m_sheet.setColumnView(0, 10);
m_sheet.setRowView(0, 500);
Label label = new Label(0, 0, "阿科是个不错的小伙子阿科是个不错" +
"的小伙子阿科是个不错的小伙子", format);
//将定义好的单元格添加到工作表中
m_sheet.addCell(label);
在上面的示例中,尽管列宽仅设置为10,并且文本的长度远大于10,但是由于使用了WritableCellFormat设置选项: formatTitle.setWrap(true). 这样,该单元格的文本将自动显示为与该单元格的列宽一致.
如有任何疑问,请发送电子邮件讨论: qinpanke@gmail.com
Arco
2013年8月31日,北京邮电大学新研究楼302室
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-205364-1.html
任何人任何组织都承担不起这个历史罪责