Я создал простой REST web app
, который бы создал Excel file
и поместил в current directory.
Но каким-то образом сгенерированный excel не находится в каталоге.На самом деле он даже не создается.
Вывод "done"
отображается в GlassFish server log
, поэтому процесс фактически завершается без ошибок.Единственное, что я подозреваю, - это путь к файлу, который я указываю для «myExcelFileThatWouldNotShowUp».
Я указал полный путь или относительный путь, который могу себе представить, но файл Excel все еще не отображается.Интересно, что , если я не запускаю это как веб-приложение (т.е. помещаю код в локальную функцию main () и запускаю его, это работает) Таким образом, я думаю, что-то связано со GlassFish, но не могу понятьout: (
- GlassFish v3
- REST / JAX-RS
- Каркас Excella для создания электронной таблицы Excel из шаблона (myTemplate.xls)
Фрагмент кода
@Path("horizontalProcess")
@GET
@Produces("application/xml")
public String getProcessHorizontally() {
try {
URL templateFileUrl = this.getClass().getResource("myTemplate.xls");
// getPath() outputs...
// /C:/Users/m-takayashiki/Documents/NetBeansProjects/KogaAlpha/build/web/WEB-INF/classes/local/test/jaxrs/myTemplate.xls
System.out.println(templateFileUrl.getPath());
String templateFilePath = URLDecoder.decode(templateFileUrl.getPath(), "UTF-8");
//specify output path which is current dir and should create
//myExcelFileThatWouldNotShowup.xls but it is not..
String outputFileDir = "myExcelFileThatWouldNotShowUp";
//<<template path>>, <<output path>>, <<file format>>
ReportBook outputBook = new ReportBook(templateFilePath, outputFileDir, ExcelExporter.FORMAT_TYPE);
ReportSheet outputSheet = new ReportSheet("myExcelSheet");
outputBook.addReportSheet(outputSheet);
//this is printed out so process actually gets here
System.out.println("done!!");
}
catch(Exception e) {
System.out.println(e);
}
return null;
}//end method