我需要在JAVA的同一个excel工作簿中编写3张不同的工作表。我需要把这个任务分成3个不同的类,每个类应该在同一个文件中写一个excel表。现在每次在课程结束时,我都需要将数据刷新到特定表格。类似的,创建FileInputStream的bean
inputStream =new FileInputStream("FileName.xls");
wb_template = new XSSFWorkbook(inputStream);
inputStream.close();
wb = new SXSSFWorkbook(wb_template);
//Logic here
FileOutputStream out = new FileOutputStream("FileName.xls");
workbook.write(out);
wb.dispose();
out.close();
并重复在另一个类的另一个类中打开和关闭的公用部分。
现在,因为我的课上注有@Component
注释,所以我无法创建FileOutputStream
,在我的课程中新建了FileOutputStream
作为上面的示例代码。 所以我需要为他们创建bean。所以现在我的疑问是,我需要为每种类型创建多少个bean。即FileInputStream
,SXSSFWorkbook
和FileOutputStream
?因为我需要在每节课结束时处理工作簿,每节课结束时需要关闭FileOutputStream
,单豆是否足够?
我是这个领域的新手。任何领导将不胜感激。
什么让你觉得你不能在课堂上创造东西?你使用Spring(或者任何一个DI框架)的事实并不意味着你必须将它用于一切。它仍然只是java ... –
你不需要一切都需要一个bean。当你只有一把锤子时,一切看起来都像钉子。只要打开并关闭任何方法使用它的'FileInputStream'即可。 – EJP
@EJP,我做了同样的事情,但是bean创建失败,出现类似找不到的类的错误;嵌套的异常是java.lang.NoClassDefFoundError:org/apache/poi/xssf/streaming/SXSSFWorkbook – tv1902