<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-167  評論-65  文章-0  trackbacks-0

    效果:

    image

    使用時先把poi包導入工程的path,注意只需要導入poi包即可,下載后有三個jar包

    核心代碼:

    連接數(shù)據(jù)庫: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) ;
    // 獲取總列數(shù)
    int CountColumnNum = rs.getMetaData().getColumnCount() ;
    int i = 1 ;
    // 創(chuàng)建Excel文檔
    HSSFWorkbook wb = new HSSFWorkbook() ;
    // sheet 對應一個工作頁
    HSSFSheet sheet = wb.createSheet("student表中的數(shù)據(jù)") ;
    HSSFRow firstrow = sheet.createRow(0); //下標為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())
    {
    // 創(chuàng)建電子表格的一行
    HSSFRow row = sheet.createRow(i) ; // 下標為1的行開始
    for(int j=0;j<CountColumnNum;j++)
    {
    // 在一行內(nèi)循環(huán)
    HSSFCell cell = row.createCell((short) j) ;
    // 設(shè)置表格的編碼集,使支持中文
    //
    // 先判斷數(shù)據(jù)庫中的數(shù)據(jù)類型
    // 將結(jié)果集里的值放入電子表格中
    cell.setCellValue(new HSSFRichTextString(rs.getString(j+1))) ;
    }
    i++ ;
    }
    // 創(chuàng)建文件輸出流,準備輸出電子表格
    OutputStream out = new FileOutputStream("E:\\person.xls") ;
    wb.write(out) ;
    out.close() ;
    System.out.println("數(shù)據(jù)庫導出成功") ;
    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中這樣調(diào)用:

    <a href="ReportServlet" onclick="return confirm('確認數(shù)據(jù)導出到E:/下?');">導出數(shù)據(jù)到Excel</a>

    后臺servlet寫上上面的代碼,注意最后需要response.sendRedirect("") 返回前端

     

    源碼下載:

    http://www.namipan.com/d/98cf9d03ab8f39ce3c107bb5b44b642dcb3ba581382a1400

    poi包下載:

    http://www.namipan.com/d/e0493749dd5e3a1f2e28a0a32493e5e026fae4aa1ac69c00



    write by feng
    posted on 2009-05-26 18:12 fl1429 閱讀(3099) 評論(1)  編輯  收藏 所屬分類: J2se

    評論:
    # re: Java 利用poi把數(shù)據(jù)庫中數(shù)據(jù)導入Excel 2016-08-08 16:01 | 火車北京北京北京創(chuàng)建吧
    利用框架Mybatis  回復  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    已訪問數(shù):
    free counters
    主站蜘蛛池模板: 精品久久久久久无码免费| 亚洲精品NV久久久久久久久久| 亚洲成a人片在线观看久| 亚洲天天做日日做天天看| 国产免费福利体检区久久| 亚洲国产天堂久久综合网站| 最近最新中文字幕完整版免费高清| 野花视频在线官网免费1| 日本免费一区二区三区最新vr| 亚洲一区二区三区高清视频| 日本一道本不卡免费 | 亚洲爆乳AAA无码专区| 久久影视综合亚洲| 青青青免费国产在线视频小草| 亚洲理论片在线观看| 亚洲av中文无码| 久久受www免费人成_看片中文| 一区二区三区免费在线观看| 亚洲一级毛片免观看| 亚洲日韩精品A∨片无码| 九九99热免费最新版| 伊人久久五月丁香综合中文亚洲| 国产亚洲人成网站在线观看| 成人片黄网站A毛片免费| 日韩国产欧美亚洲v片| 亚洲国产成人私人影院| 亚洲va中文字幕无码| 91久久精品国产免费一区| 一级做受视频免费是看美女| 亚洲欧美黑人猛交群| 亚洲福利视频导航| 久久精品亚洲乱码伦伦中文| 夜夜嘿视频免费看| 91久久精品国产免费一区| 久久久久久av无码免费看大片| 亚洲国产精品无码中文lv| 亚洲高清中文字幕综合网| 毛片基地免费视频a| 老汉精品免费AV在线播放| 中文字幕看片在线a免费| 亚洲精品免费在线|