❶ java用poi导出excel文件,打开导出的文件时报错,怎么办
两个原因:
1.你的excel模版本身有问题,可以尝试新建一个模版。
2.你的excel使用了一些POI不支持的函数。
解决办法:
另存是由excel重写了完整的文件,可以解决问题。
关闭文件例子:
FileOutputStream os = new FileOutputStream("workbook.xls");
wb.write(os);
os.close();
❷ java poi导出excel要双击才显示换行
对于Java POI,其提供的API中,没有提供直接设置单元格“折行表示”的属性或者方法。
我之前做这个地方的时候,是利用读取Excel的模板来实现的。
在模板文件中,对单元格设置好“折行表示”。
Java POI调用之后,先读取模板文件中已经设置好“折行表示”的单元格的style。
然后在输出Excel的文件中,对需要有“折行表示”的单元格,将这个style赋给它。
这样就在最终生成的Excel看到折行表示的效果了。
❸ 急!!!java用poi导出excel文件,打开导出的文件时报错“文件错误,数据可能丢失”
用java写完文件后需要关闭文件流,如果不关闭就会报这个错。
因为你的文件内容写完了,所以内容没有缺失,但excel检测到文件没有正常结束,所以报错。
另存是由excel重写了完整的文件,所以可以解决问题。
关闭文件例子:
FileOutputStream os = new FileOutputStream("workbook.xls");
wb.write(os);
os.close();
❹ java poi操作2007word,输入什么代表换行符
悄悄问了问度娘,她说按下面方式做就ok了:
1. 首先在需要强制换行的单元格里使用poi的样式,并且把样式设定为自动换行
# HSSFCellStyle cellStyle=workbook.createCellStyle();
# cellStyle.setWrapText(true);
# cell.setCellStyle(cellStyle);
2. 其次是在需要强制换行的单元格,使用\就可以实再强制换行
1. HSSFCell cell = row.createCell((short)0);
2. cell.setCellStyle(cellStyle); cell.setCellValue(new HSSFRichTextString("hello\r\n world!"));
这样就能实现强制换行,
换行后的效里是单元格里强制换行
hello
world!
❺ java poi设置excel字体部分失效
使用POI写入excel数据时,如果使用的excel版本是2003,当创建过多的样式(格式)时容易发生单元格丢失问题,所以需要严格控制单元格样式的创建和生成,同样的样式只创建1次,所有同样式的Cell共享。