poi之数据库数据导入excle

xiaoxiao2022-06-12  31

今天用eos做完公司所有报表。eos的报表功能确实很强大。三下五去二就很容易的做出一个很完美的报表(包括xls格式,html格式,applat格式)。但是eos报表功能屏蔽了太多的技术细节。对于一个热爱技术的人来说,看不到底层的技术细节真有点遗憾。下午闲来无事就去网上逛了一圈。发现开源的poi操纵excle非常方便,于是去官方网站上下了这个包。仔细的研究了一下。也顺便做了个列子。这个例子展示了从数据里面取出数据然后写入excle文件。

连接数据库类:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;

public class DBConnection {private String classString="oracle.jdbc.driver.OracleDriver";private String username="hehe";private String password="hehe";private String url="java:oracle:thin:@192.168.1.17:1521:test";private Connection con=null;public Connection getConnection(){   try {    Class.forName(classString);    con=DriverManager.getConnection(url,username,password);   } catch (ClassNotFoundException e) {    e.printStackTrace();   } catch (SQLException e) {    e.printStackTrace();   }   return con;}

}

操纵excel类:

import java.io.FileOutputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;

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 CreateXL {private static String xlsFile="f:\\test.xls";//取得结果集public static ResultSet getResult(String sql){   DBConnection db=new DBConnection();   Connection con=db.getConnection();   ResultSet rs=null;   Statement st=null;   try {    st=con.createStatement();    rs=st.executeQuery(sql);   } catch (SQLException e) {    e.printStackTrace();   }   return rs;}//向excle写入数据public static void toxls(ResultSet rs)throws Exception{   HSSFWorkbook workbook=new HSSFWorkbook();   HSSFSheet sheet=workbook.createSheet("结果数据");     HSSFRow row=sheet.createRow(0);   HSSFCell cell;   ResultSetMetaData smdata=rs.getMetaData();   int nColum=smdata.getColumnCount();   for(int i=1;i<nColum;i++){    cell=row.createCell(i-1);    cell.setCellType(HSSFCell.CELL_TYPE_STRING);    cell.setCellValue(new HSSFRichTextString(smdata.getColumnLabel(i)));//写入列标号   }   int intRow=1;   while(rs.next()){    row=sheet.createRow(intRow);    for(int j=1;j<nColum;j++){     cell=row.createCell(j-1);     cell.setCellType(HSSFCell.CELL_TYPE_STRING);     String result="";     Object obj=rs.getObject(j);     if(obj!=null){      result=obj.toString();     }     cell.setCellValue(new HSSFRichTextString(result));//写入数据    }    intRow++;   }   FileOutputStream fout=new FileOutputStream(xlsFile);   workbook.write(fout);   fout.flush();   fout.close();}public static void main(String args[]) throws Exception{   toxls(getResult("select * from user_"));}

}

相关资源:大数据Excel通过POI导入数据库通用设计方案
转载请注明原文地址: https://www.6miu.com/read-4932205.html

最新回复(0)