zoukankan      html  css  js  c++  java
  • itext poi 学习之旅 (3)读取数据库信息并由excel展现出来

    DBConnection.java

    连接数据库操作

    package com.zkbj.poi;
    
    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/****";   //1.修改数据库名
        private final String DBDriver = "com.mysql.jdbc.Driver";
        private final String username = "**";                   //2.修改成你的MySql登录名和密码
        private final String password = "***";
        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();
                }
            }
        }
    }

    ProductDir.java

    读取产品信息数据并导出execl格式数据

    package com.zkbj.poi;
    
    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 ProductDirExcel {
        public ProductDirExcel() throws Exception {
            Connection con = null;
            DBConnection db = new DBConnection();
            con = db.getDB();
            String sql = "select * from productdir";
            ResultSet rs = con.createStatement().executeQuery(sql);
            // 获取总列数
            int CountColumnNum = rs.getMetaData().getColumnCount();
            int i = 1;
            // 创建Excel文档
            HSSFWorkbook wb = new HSSFWorkbook();
            // sheet 对应一个工作页
            HSSFSheet sheet = wb.createSheet("productdir表中的数据");  //3.修改成你的Sheet
            HSSFRow firstrow = sheet.createRow(0); // 下标为0的行开始
            HSSFCell[] firstcell = new HSSFCell[CountColumnNum];
            String[] names = new String[CountColumnNum];
            names[0] = "产品ID";                                     //4.修改成你的数据库数据名称。
            names[1] = "产品名称";
            names[2] = "产品版本";
            names[3] = "产品备注";
            names[4] = "产品分类ID";
    
            for (int j = 0; j < CountColumnNum; j++) {
                firstcell[j] = firstrow.createCell((short) j);
                firstcell[j].setCellValue(new HSSFRichTextString(names[j]));
            }
            while (rs.next()) {
                // 创建电子表格的一行
                HSSFRow row = sheet.createRow(i); // 下标为1的行开始
                for (int j = 0; j < CountColumnNum; j++) {
                    // 在一行内循环
                    HSSFCell cell = row.createCell((short) j);
                    // 设置表格的编码集,使支持中文
                    // // 先判断数据库中的数据类型
                    // 将结果集里的值放入电子表格中
                    cell.setCellValue(new HSSFRichTextString(rs.getString(j + 1)));
                }
                i++;
            }
            // 创建文件输出流,准备输出电子表格
            OutputStream out = new FileOutputStream("D:\productdir.xls");            //5.修改成你创建Excel路径 并有这个文件展示数据
            wb.write(out);
            out.close();
            System.out.println("数据库导出成功");
            rs.close();
            con.close();
        }
    
        public static void main(String[] args) {
            try {
                @SuppressWarnings("unused")
                ProductDirExcel excel = new ProductDirExcel();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    经过以上步骤可以使我们能够从数据库中导出数据并由Execel表示出来。

    如果需要导出其他数据库只需要修改几组程序就可以完美表现出来,由于博主初学poi 所以对其Css设计还未了解。。。以后还会更新,期待我下次更新吧。。

  • 相关阅读:
    mongodb 添加用户
    mongo 安装
    python 操作redis
    python 安装 redis
    redis 命令文档网址
    redis 事务
    Redis key命令
    手动卸载的vs2010
    个人封装JavaScript函数
    女学-温砚如老师的人生女学
  • 原文地址:https://www.cnblogs.com/bohanfu/p/5697836.html
Copyright © 2011-2022 走看看