Отдых - почему сгенерированный файл Excel на самом деле не создан при попытке в качестве веб-приложения?
Вопрос
Я создал простое REST web app
Это было бы создать Excel file
и положить в current directory.
Но как-то сгенерированный Excel не в каталоге. На самом деле это даже не создается.
Выход "done"
показано в GlassFish server log
Таким образом, процесс фактически добирается до конца без какой-либо ошибки. Единственное, что я подозриющую, это путь к файлу, я указываю на «MyExciLethatwouldSotshowup».
Я дал полный путь или относительный путь, который я могу думать о том, что файл Excel еще не появляется. Интересно, Если я не запускаю это как веб-приложение (то есть поставить код в локальной главной () функции и запустить его, это работает)Таким образом, я думаю, что что-то делать с Glassfish, но не может действительно выяснить :(
- Glassfish v3
- REST / JAX-RS
- Excella Framework для генерации электронной таблицы 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
Решение
Вот почему не стоит кодировать, когда утомлял / сверхурочно работал ....
Я забыл добавить 2 строки кода в конце, который на самом деле генерирует Excel ... Стоит мне пару часов отладки .. (Не спрашивайте, как я отладки: P
ReportProcessor reportProcessor = new ReportProcessor();
reportProcessor.process(outputBook);
BTW, сгенерированный файл хранятся в DIR ниже по умолчанию, если вы не укажете.
//C:\Users\m-takayashiki\.netbeans\6.9\config\GF3\domain1