Ce bouton doit ouvrir une autre xPage "export_excel.xsp".
Dans cette dernière dans l'événement "afterRenderResponse" collez ce code :
- Code : Tout sélectionner
var exCon = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
var response = exCon.getResponse();
var viewNav:NotesViewNavigator = database.getView('AllContacts').createViewNav(); // dans mon cas AllContacts est la vue que je veux exporter
var viewEnt:NotesViewEntry = viewNav.getFirst();
var output:string = "";
// boucle permettant de récupérer toutes les valeurs des colonnes
// en les formattant en HTML
while (viewEnt != null) {
output += "<tr>";
for (var x in viewEnt.getColumnValues()) {
output += "<td>" + x + "</td>";
}
output += "</tr>";
viewEnt = viewNav.getNext(viewEnt);
}
response.setHeader("Content-Type","application/vnd.ms-excel");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Content-Disposition", "attachment; filename=contacts.xls");
writer.write("<meta charset=UTF-8>");
writer.write("<table>");
writer.write("<thead><tr>");
writer.write("<td><b>Country</b></td>");
writer.write("<td><b>Group Name</b></td>");
writer.write("</tr></thead>");
writer.write(output);
writer.write("</table>");
writer.endDocument();