Apache POI - База данных
В этой главе объясняется, как библиотека POI взаимодействует с базой данных. С помощью JDBC вы можете извлекать данные из базы данных и вставлять эти данные в электронную таблицу с помощью библиотеки POI. Рассмотрим базу данных MySQL для операций SQL.
Запись в Excel из базы данных
Предположим, что следующая таблица данных сотрудников называется emp_tbl должен быть получен из базы данных MySQL test.
EMP ID | EMP NAME | DEG | ЗАРПЛАТА | ОТДЕЛЕНИЕ |
---|---|---|---|---|
1201 | Гопал | Технический менеджер | 45000 | ЭТО |
1202 | Маниша | Корректор | 45000 | Тестирование |
1203 | Мастханвали | Технический писатель | 45000 | ЭТО |
1204 | Kiran | Hr Admin | 40000 | HR |
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 файл выглядит следующим образом.