2014-01-17 3 views
1

Мне нужно сохранить экспортированные данные в некоторый файл в виде строки или в формате excel, и я хочу отправить этот файл по электронной почте.Можно ли программно экспортировать экспортированные данные PrimeFaces?

мой текущий оператор экспорта

<p:dataExporter type="xls" target="tableWbTicketold" fileName="TicketOldReport" /> 
+0

Он работает? –

+0

да его работая отлично..и проблема в том, что я хочу сохранить экспортированные данные в другое место –

+0

Используя dataExporter, вы можете загрузить файл, и, как вы сказали, он уже работает. Где вы хотите сохранить это? – Pellizon

ответ

0

у вас есть два варианта:

  1. использовать постпроцессор: <p:dataExporter type="xls" target="tbl" fileName="cars" postProcessor="#{tableBean.postProcessXLS}"/>. вы можете отправить УПРАЖНЕНИЕ внутри tableBean.postProcessXLS, но это не будет препятствовать нормальное течению (файл диалог загрузки)

  2. написать свой собственный DataExporter пользовательский компонент простирающегося классов PF и переопределение: DataExporter.processAction, ExcelExporter.export


UPDATE

таким образом:

public void postProcessXLS(Object document) 
{ 
    try 
    { 
     Workbook wb = (Workbook) document; 

     File file = File.createTempFile("exporter-", ".xls"); 

     FileOutputStream out = new FileOutputStream(file); 
     wb.write(out); // or write in mail body 
     out.close(); 

     // do what you need with file 

     file.delete(); 
    } 
    catch(IOException e) 
    { 
     e.printStackTrace(); 
    } 
} 
+0

, но как я могу получить экспортированный файл, означает файл xls в методе postProcessXLS. –

+0

см. Обновленный ответ –

Смежные вопросы