雷林鹏分享:Apache POI数据库
本章介绍了POI库与数据库的交互方式。有了JDBC帮助,可以从数据库中检索数据并插入数据来使用POI库电子表格。让我们考虑SQL操作MySQL数据库。
写入数据库
让我们假设数据表是 emp_tbl 存有雇员信息是从MySQL数据库 test 中检索。
EMP IDEMP NAMEDEGSALARYDEPT
1201GopalTechnical Manager45000IT
1202ManishaProof reader45000Testing
1203MasthanvaliTechnical Writer45000IT
1204KiranHr Admin40000HR
1205KranthiOp Admin30000
使用下面的代码从数据库中检索数据,并插入到同一个电子表格。
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文件如下所示。
(编辑:雷林鹏 来源:网络|侵删)