JHipster: открыть файл пользователя - PullRequest
0 голосов
/ 25 февраля 2019

В моем проекте jhipster мне нужно создать новый файл xlsx на основе шаблона.Я помещаю свой шаблон file1.xlsx в target / classes / clientdoc.

Когда я впервые создаю новый файл xlsx, все в порядке.Но во второй раз я получил NPE по вызову «sheet.getRow (rowForTotalInfoNumber) .getCell (n)».Затем я просто открываю в LibreCalc (в Linux) target / classes / clientdoc / file1.xlsx и закрываюсь без каких-либо манипуляций с ним.После этого мой проект перезапускается в консоли.Я выполнил свой проект, позвонив ./mvnw.После этого я снова могу создать новый файл.

Это мой код:

@Configuration
public class ClientDocConfiguration {
    private final Logger log = 

   @Bean
   public FilelGenerator getFileGenerator() {
   return new FileGenerator();
}

   @Bean
   public XSSFWorkbook workbook() throws IOException {
       Resource xlsRes = new ClassPathResource("clientdocs/file.xlsx");
       InputStream xlsStream = xlsRes.getInputStream();
       XSSFWorkbook workbook = new XSSFWorkbook(xlsStream);
       return workbook;
  }

FileGenerator.java

@Component
public class FileGenerator { 
    private XSSFWorkbook workbook;

    @Autowired
    public void setWorkbook(XSSFWorkbook workbook) {
        this.workbook = workbook;
    }


    public byte[] generateDocument() throws IOException {
        XSSFSheet sheet = workbook.getSheetAt(0);
        sheet.getRow(rowForTotalInfoNumber).getCell(n).setCellValue("X");
    }
...