从数据库中动态查询出来的数据要以execl的形式导出来
应该怎么去实现

解决方案 »

  1.   


    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.SQLException;public class DBExport {
        public static void main(String[] args) {
            DBase db = new DBase();
            Connection conn = db.connect(
                    "jdbc:mysql://localhost:3306/test","root","password");
            
            if (args.length != 1) {
                System.out.println(
                        "Usage: java DBExport [outputfile path] ");
                return;
            }
            db.exportData(conn,args[0]);
        }
        
    }class DBase {
        public DBase() {
        }
        
        public Connection connect(String dbConnector, 
                String username, String password) {
            Connection conn;
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                conn = DriverManager.getConnection(dbConnector,
                        username, password);
                
            } catch(Exception e) {
                e.printStackTrace();
                conn = null;
            }
            return conn;
        }
        
        public void exportData(Connection conn,String filename) {
            Statement stmt;
            String query;
            try {
                stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                        ResultSet.CONCUR_UPDATABLE);
                
                //For comma separated file
                query = "SELECT id,text,price into OUTFILE  '"+filename+
                        "' FIELDS TERMINATED BY ',' FROM testtable t";
                stmt.executeQuery(query);
                
            } catch(Exception e) {
                e.printStackTrace();
                stmt = null;
            }
        }
    };
      

  2.   

    忘记说了,上面的方法导出CSV