<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
    主站蜘蛛池模板: 久久WWW免费人成—看片| 久久精品熟女亚洲av麻豆| mm1313亚洲国产精品美女| 亚洲无人区午夜福利码高清完整版| 亚洲爆乳无码专区www| 成人影片麻豆国产影片免费观看| 亚洲国产日产无码精品| 99久久精品日本一区二区免费| 久久夜色精品国产噜噜亚洲AV| 先锋影音资源片午夜在线观看视频免费播放 | 亚洲无吗在线视频| 一级一级一片免费高清| 亚洲成a人片在线观看老师| 青青久久精品国产免费看| 亚洲黄色免费观看| 亚洲国产人成在线观看| 无码永久免费AV网站| 久久亚洲精品无码| 99久9在线|免费| 亚洲国产日产无码精品| 日产乱码一卡二卡三免费| 亚洲欧洲精品一区二区三区| 2019中文字幕在线电影免费| 亚洲黄页网在线观看| 少妇人妻偷人精品免费视频| 91亚洲精品视频| 日韩av无码成人无码免费| 色婷婷亚洲一区二区三区| 国产亚洲精品影视在线产品| 一个人看的www免费视频在线观看| 精品亚洲成AV人在线观看| 无码一区二区三区免费视频| 黄色三级三级三级免费看| 亚洲AV永久无码区成人网站| 91精品免费国产高清在线| 久久亚洲精品11p| 亚洲今日精彩视频| 日韩a级毛片免费视频| 一个人免费视频在线观看www| 狠狠色香婷婷久久亚洲精品| 亚洲精品无码专区久久同性男|