Apache POI - ฐานข้อมูล
บทนี้อธิบายถึงวิธีที่ไลบรารี POI โต้ตอบกับฐานข้อมูล ด้วยความช่วยเหลือของ JDBC คุณสามารถดึงข้อมูลจากฐานข้อมูลและแทรกข้อมูลนั้นลงในสเปรดชีตโดยใช้ไลบรารี POI ให้เราพิจารณาฐานข้อมูล MySQL สำหรับการดำเนินการ SQL
เขียนลงใน Excel จากฐานข้อมูล
ให้เราถือว่าตารางข้อมูลพนักงานต่อไปนี้เรียกว่า emp_tbl จะถูกดึงมาจากฐานข้อมูล MySQL test.
รหัส EMP | ชื่อ EMP | DEG | เงินเดือน | ทบ |
---|---|---|---|---|
1201 | โกปาล | ผู้จัดการฝ่ายเทคนิค | 45000 | มัน |
1202 | มานิชา | เครื่องอ่านหลักฐาน | 45000 | การทดสอบ |
1203 | Masthanvali | นักเขียนด้านเทคนิค | 45000 | มัน |
1204 | Kiran | Hr Admin | 40000 | ชม |
1205 | กระท้อน | Op 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
มันจะสร้างไฟล์ Excel ชื่อ exceldatabase.xlsx ในไดเร็กทอรีปัจจุบันของคุณและแสดงผลลัพธ์ต่อไปนี้บนพรอมต์คำสั่ง
exceldatabase.xlsx written successfully
exceldatabase.xlsx ไฟล์มีลักษณะดังนี้