av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Jsp輸出excel文檔和中文亂碼問(wèn)題的解決

寫(xiě)一個(gè)javaBean,利用JExcelApi來(lái)動(dòng)態(tài)生成excel文檔,我這里寫(xiě)一個(gè)最簡(jiǎn)單的,示意性的。復(fù)雜的你可能還要查詢數(shù)據(jù)庫(kù)什么的。

"熱情、務(wù)實(shí)、專業(yè)、創(chuàng)新”我們不忘初心,砥礪前行,實(shí)在做人,認(rèn)真做事,始終如一的專注企業(yè)互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)。品牌網(wǎng)站制作本著讓客戶滿意的目標(biāo),幫助企業(yè)通過(guò)互聯(lián)網(wǎng)創(chuàng)造價(jià)值.成都創(chuàng)新互聯(lián)公司全體員工將通過(guò)不懈努力,力爭(zhēng)成為客戶在信息化領(lǐng)域中值得長(zhǎng)期信賴的合作伙伴。

 
 
 
  1. package com.jagie.test
  2. import java.io. 
  3. import jxl.
  4. import jxl.write.
  5. import jxl.format.
  6. import java.util.
  7. import java.awt.Color
  8. public class Test 

寫(xiě)一個(gè)JSP,來(lái)利用Test這個(gè)javabean輸出excel文檔。

 
 
 
  1. <%@page import="com.jagie.test.Test" %> 
  2. <%  
  3. response.reset();  
  4. response.setContentType("application/vnd.ms-excel");  
  5. Test.writeExcel(response.getOutputStream());  
  6. %> 

這樣就大功告成了,你用ie訪問(wèn)test_excel.JSP就能在ie里面打開(kāi)動(dòng)態(tài)生成的excel文檔了。一點(diǎn)亂碼也沒(méi)有。

也許有人會(huì)問(wèn):response.reset();可不可以不要這一句,我的建議是一定要寫(xiě),除非你能保證response的buffer里面沒(méi)有別的東西。

還有人也許會(huì)問(wèn):我在JSP開(kāi)頭加上< %@page contentType="application/vnd.ms-excel;charset=GBK" %>這一句,去掉response.setContentType("application/vnd.ms-excel");行不行?回答這個(gè)問(wèn)題很簡(jiǎn)單,就是查看JSP服務(wù)器編譯JSP后生成的java代碼,如果改成這樣,我的welogic7編譯test_excel.JSP后生成的java文件的示意性代碼是這樣的:

 
 
 
  1. public void _jspService(javax.servlet.http.HttpServletRequest
    request,   
  2. javax.servlet.http.HttpServletResponse response) throws 
    java.io.IOException,   
  3. javax.servlet.ServletException  catch (Throwable __ee)   
  4.  
  5.  
  6.         //before final close brace...  
  7.     } 

很明顯,屏蔽 response.setContentType("application/vnd.ms-excel");后,在 Test.writeExcel(response.getOutputStream());之前,response.reset(); 之后沒(méi)有設(shè)置 response contenttype的正確類型,當(dāng)然輸出為亂碼了。而正確輸出excel的JSP的編譯后源碼是這樣的:

 
 
 
  1. public void _jspService(javax.servlet.http.HttpServletRequest request,   
  2. javax.servlet.http.HttpServletResponse response) throws 
    java.io.IOException,  
  3. javax.servlet.ServletException   
  4.      catch (Throwable __ee)   
  5.  
  6.  
  7.         //before final close brace...  
  8.     } 

大家可以看到在response.reset();之后,Test.writeExcel(response.getOutputStream());之前正確的設(shè)置了response的輸出內(nèi)容。所以輸出就正常了。


當(dāng)前標(biāo)題:Jsp輸出excel文檔和中文亂碼問(wèn)題的解決
URL地址:http://uogjgqi.cn/article/djieoio.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流