admin
管理员
管理员
  • UID1
  • 粉丝1
  • 关注0
  • 发帖数378
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:1531回复:0

Apache POI数据库

楼主#
更多 发布于:2015-12-21 16:31
本章介绍了POI库与数据库的交互方式。有了JDBC帮助,可以从数据库中检索数据并插入数据来使用POI库电子表格。让我们考虑SQL操作MySQL数据库。


写入数据库

让我们假设数据表是 emp_tbl 存有雇员信息是从MySQL数据库 test 中检索。
[table=100%,top][tr][td]EMP ID[/td][td]EMP NAME[/td][td]DEG[/td][td]SALARY[/td][td]DEPT[/td][/tr][tr][td]1201[/td][td]Gopal[/td][td]Technical Manager[/td][td]45000[/td][td]IT[/td][/tr][tr][td]1202[/td][td]Manisha[/td][td]Proof reader[/td][td]45000[/td][td]Testing[/td][/tr][tr][td]1203[/td][td]Masthanvali[/td][td]Technical Writer[/td][td]45000[/td][td]IT[/td][/tr][tr][td]1204[/td][td]Kiran[/td][td]Hr Admin[/td][td]40000[/td][td]HR[/td][/tr][tr][td]1205[/td][td]Kranthi[/td][td]Op Admin[/td][td]30000[/td][/tr][/table]使用下面的代码从数据库中检索数据,并插入到同一个电子表格。
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文件如下所示。

图片:1-1412020ZU4910.jpg

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部