Apache POI 连接数据库生成excel

来源:互联网 发布:5g网络什么时候出 编辑:程序博客网 时间:2024/05/17 06:29

 

本章介绍了POI库与数据库的交互方式。有了JDBC帮助,可以从数据库中检索数据并插入数据来使用POI库电子表格。让我们考虑SQL操作MySQL数据库。

写入数据库

让我们假设数据表是 emp_tbl 存有雇员信息是从MySQL数据库 test 中检索。

EMP IDEMP NAMEDEGSALARYDEPT1201GopalTechnical Manager45000IT1202ManishaProof reader45000Testing1203MasthanvaliTechnical Writer45000IT1204KiranHr Admin40000HR1205KranthiOp Admin

30000

使用下面的代码从数据库中检索数据,并插入到同一个电子表格。

import java.io.File;import java.io.FileOutputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import org.apache.poi.xssf.usermodel.XSSFCell;import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class ExcelDatabase {   public static void main(String[] args) throws Exception    {      Class.forName("com.mysql.jdbc.Driver");      Connection connect = DriverManager.getConnection(       "jdbc:mysql://localhost:3306/test" ,       "root" ,       "root"      );      Statement statement = connect.createStatement();      ResultSet resultSet = statement      .executeQuery("select * from emp_tbl");      XSSFWorkbook workbook = new XSSFWorkbook();       XSSFSheet spreadsheet = workbook      .createSheet("employe db");      XSSFRow row=spreadsheet.createRow(1);      XSSFCell cell;      cell=row.createCell(1);      cell.setCellValue("EMP ID");      cell=row.createCell(2);      cell.setCellValue("EMP NAME");      cell=row.createCell(3);      cell.setCellValue("DEG");      cell=row.createCell(4);      cell.setCellValue("SALARY");      cell=row.createCell(5);      cell.setCellValue("DEPT");      int i=2;      while(resultSet.next())      {         row=spreadsheet.createRow(i);         cell=row.createCell(1);         cell.setCellValue(resultSet.getInt("eid"));         cell=row.createCell(2);         cell.setCellValue(resultSet.getString("ename"));         cell=row.createCell(3);         cell.setCellValue(resultSet.getString("deg"));         cell=row.createCell(4);         cell.setCellValue(resultSet.getString("salary"));         cell=row.createCell(5);         cell.setCellValue(resultSet.getString("dept"));         i++;      }      FileOutputStream out = new FileOutputStream(      new File("exceldatabase.xlsx"));      workbook.write(out);      out.close();      System.out.println(      "exceldatabase.xlsx written successfully");   }}

让我们保存了上面的代码为ExcelDatabase.java。编译并从命令提示符执行它如下。

$javac ExcelDatabase.java$java ExcelDatabase

它会生成一个名为exceldatabase.xlsx在当前目录中的Excel文件并显示在命令提示符处输出以下。

exceldatabase.xlsx written successfully

exceldatabase.xlsx文件如下所示。

Excel Database

 

文章转载自:易百教程 [http:/www.yiibai.com]
本文标题:Apache POI数据库
本文地址:http://www.yiibai.com/apache_poi/apache_poi_database.html

0 0
原创粉丝点击