2011-10-23 6 views
1

私はmkyongに従っています.JexcelはSpringのチュートリアルであり、すべてがfine.itはExcelファイルを作成してシートを書くことができますが、私のExcelファイル名は変更できません。それは、コントローラへの私のリンクと同じファイル名を表示します。ここでSpring mvcでJexcelの名前を設定するには?

は例

<li><h3><a href="report.html">Jexcel Showcase</a></h3></li> 

それは常に作成されたファイル名 "report.html.xls" をエクセルです。誰もがファイル名を変更する方法を知っている??

この事前に私のコントローラ

@RequestMapping(method=RequestMethod.POST) 
protected ModelAndView handleRequestInternal(HttpServletRequest request, 
     HttpServletResponse response) throws Exception { 
     //dummy data 
     revenueData.put("Jan-2010", "$100,000,000"); 
     revenueData.put("Feb-2010", "$110,000,000"); 
     revenueData.put("Mar-2010", "$130,000,000"); 
     revenueData.put("Apr-2010", "$140,000,000"); 
     revenueData.put("May-2010", "$200,000,000"); 
    return new ModelAndView("jexcelSuccess","revenueData",revenueData); 
} 

とbuildExcelDocument方法

protected void buildExcelDocument(Map model, WritableWorkbook workbook, 
    HttpServletRequest request, HttpServletResponse response) 
    throws Exception { 

    Map<String,String> revenueData = (Map<String,String>) model.get("revenueData"); 
    WritableSheet sheet = workbook.createSheet("Revenue Report", 0); 
    WritableSheet sheet2 = workbook.createSheet("Test Report", 1); 
    WritableSheet sheet3 = workbook.createSheet("Hello Report", 2); 

     sheet.addCell(new Label(0, 0, "Month")); 
     sheet.addCell(new Label(1, 0, "Revenue")); 

     int rowNum = 1; 
    for (Map.Entry<String, String> entry : revenueData.entrySet()) { 
    //create the row data 
    sheet.addCell(new Label(0, rowNum, entry.getKey())); 
     sheet.addCell(new Label(1, rowNum, entry.getValue())); 
     rowNum++; 
     } 
    } 

感謝、 マート

答えて

2

は、コントローラに次の行を追加します

response.setHeader("Content-Disposition", "attachment; filename=\"whatEver.xls\""); 
+0

ありがとう、ラルフ。 もう一度手伝ってください。 :) – Vtanathip

関連する問題