锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
浣跨敤鏃跺厛鎶妏oi鍖呭鍏ュ伐紼嬬殑path,娉ㄦ剰鍙渶瑕佸鍏oi鍖呭嵆鍙?涓嬭澆鍚庢湁涓変釜jar鍖?/p>
鏍稿績浠g爜:
榪炴帴鏁版嵁搴?DBConnection.java
package org.xg.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBConnection { private final String DBUrl = "jdbc:mysql://localhost:3306/notebook" ; private final String DBDriver = "com.mysql.jdbc.Driver" ; private final String username = "root" ; private final String password = "riskfitfeng" ; private Connection con ; public DBConnection() { try { Class.forName(DBDriver) ; con = DriverManager.getConnection(DBUrl,username,password) ; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public Connection getDB() { return con ; } public void closeDb(ResultSet rs,PreparedStatement ps) { if(rs!=null) { try { rs.close() ; } catch (SQLException e) { // TODO Auto-generated catch block
e.printStackTrace(); } } if(ps!=null) { try { ps.close() ; } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
瀵煎叆excel綾?MySql2Excel.java
package org.xg.db; import java.io.FileOutputStream; import java.io.OutputStream; import java.sql.Connection; import java.sql.ResultSet; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class MySql2Excel { public MySql2Excel() throws Exception { Connection con = null ; DBConnection db = new DBConnection() ; con = db.getDB() ; String sql = "select * from students" ; ResultSet rs = con.createStatement().executeQuery(sql) ; // 鑾峰彇鎬誨垪鏁? int CountColumnNum = rs.getMetaData().getColumnCount() ; int i = 1 ; // 鍒涘緩Excel鏂囨。 HSSFWorkbook wb = new HSSFWorkbook() ; // sheet 瀵瑰簲涓涓伐浣滈〉 HSSFSheet sheet = wb.createSheet("student琛ㄤ腑鐨勬暟鎹?/span>") ; HSSFRow firstrow = sheet.createRow(0); //涓嬫爣涓?鐨勮寮濮? HSSFCell[] firstcell = new HSSFCell[CountColumnNum]; String[] names = new String[CountColumnNum]; names[0] = "ID"; names[1] = "瀛﹀彿"; names[2] = "濮撳悕"; names[3] = "鎬у埆"; names[4] = "鐝駭"; for(int j= 0 ;j<CountColumnNum; j++){ firstcell[j] = firstrow.createCell((short)j); firstcell[j].setCellValue(new HSSFRichTextString(names[j])); } while(rs.next()) { // 鍒涘緩鐢?shù)瀛愯〃鏍肩殑涓琛? HSSFRow row = sheet.createRow(i) ; // 涓嬫爣涓?鐨勮寮濮? for(int j=0;j<CountColumnNum;j++) { // 鍦ㄤ竴琛屽唴寰幆 HSSFCell cell = row.createCell((short) j) ; // 璁劇疆琛ㄦ牸鐨勭紪鐮侀泦錛屼嬌鏀寔涓枃 // // 鍏堝垽鏂暟鎹簱涓殑鏁版嵁綾誨瀷 // 灝嗙粨鏋滈泦閲岀殑鍊兼斁鍏ョ數(shù)瀛愯〃鏍間腑 cell.setCellValue(new HSSFRichTextString(rs.getString(j+1))) ; } i++ ; } // 鍒涘緩鏂囦歡杈撳嚭嫻侊紝鍑嗗杈撳嚭鐢?shù)瀛愯〃鏍? OutputStream out = new FileOutputStream("E:\\person.xls") ; wb.write(out) ; out.close() ; System.out.println("鏁版嵁搴撳鍑烘垚鍔?/span>") ; rs.close() ; con.close() ; } public static void main(String[] args) { try { @SuppressWarnings("unused") MySql2Excel excel = new MySql2Excel() ; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
渚嬪浣犲彲浠ュ湪鍓嶇jsp涓繖鏍瘋皟鐢?
<a href="ReportServlet" onclick="return confirm('紜鏁版嵁瀵煎嚭鍒癊:/涓?');">瀵煎嚭鏁版嵁鍒癊xcel</a>
鍚庡彴servlet鍐欎笂涓婇潰鐨勪唬鐮?娉ㄦ剰鏈鍚庨渶瑕乺esponse.sendRedirect("") 榪斿洖鍓嶇
婧愮爜涓嬭澆:
http://www.namipan.com/d/98cf9d03ab8f39ce3c107bb5b44b642dcb3ba581382a1400
poi鍖呬笅杞?
http://www.namipan.com/d/e0493749dd5e3a1f2e28a0a32493e5e026fae4aa1ac69c00