1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题

java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题

时间:2021-05-21 07:36:15

相关推荐

java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题

在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况。但是,在生成Excel文件后,发现无法正常打开该文件。

例如:以当前的时间点为文件名,新生成一个Excel文件。先来看看下面一段代码。

public classcreateExcel {public static void main(String[] args) throwsIOException {

Date now=newDate();

SimpleDateFormat dateFormat= new SimpleDateFormat("yyyyMMddHHmmss");

String localname=dateFormat.format(now);

String xlsxPath= "F:\\0507\\"+ localname + ".xlsx";

Workbook workBook= newXSSFWorkbook();

OutputStream fos= null;try{

fos= newFileOutputStream(xlsxPath);

}catch(FileNotFoundException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

workBook.write(fos);

fos.close();

}

}

有经验的同学看出什么问题来了吗?

这里在相应的路径下会生成Excel文件。但是,双击打开的时候,会出现下面的情形。

导致这个问题的原因是什么呢?

我们回过头来再看看之前的代码。好像是少了点什么吧。

我们实际在电脑中点击右键新生成一个Excel文件的时候,这个Excel文件会默认生成3个Sheet。而上面我们使用Java代码来生成Excel的时候,没有新建立Sheet的对象。这样,这个Excel文件中就是没有Sheet的。双击打开的时候就会报这个错误。

实际上,我们只要在上面的代码中,增加一个Sheet的对象,就可以正常打开Excel了。

public static void main(String[] args) throwsIOException {

Date now=newDate();

SimpleDateFormat dateFormat= new SimpleDateFormat("yyyyMMddHHmmss");

String localname=dateFormat.format(now);

String xlsxPath= "F:\\0507\\"+ localname + ".xlsx";

Workbook workBook= newXSSFWorkbook();

OutputStream fos= null;try{

//增加一个Sheet的对象

Sheet sheet= workBook.createSheet("sheet1");

fos= newFileOutputStream(xlsxPath);

}catch(FileNotFoundException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

workBook.write(fos);

fos.close();

}

}

这样,即可正常打开Excel了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。