Excel は、大量のデータを分類、構造化、分析、操作するために広く使用されているツールです。データベース内のデータを分析する必要がある場合、まずデータをExcelのワークシートに変換します。今回は、無料の Free Spire.XLS for Java を使って、AccessのテーブルからExcelにデータをエクスポートする方法を紹介します。
【依存関係の追加】
この方法は、無料のFree Spire.XLS for Javaが必要ですので、先にjarファイルをインポートしてください。
1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
2. 公式サイトよりJarファイルをダウンロード
まず、Free Spire.XLS for Java の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Xls.jarファイルを依存関係としてプロジェクトにインポートしてください。
データベースのデータをExcelに書き出す
Spire.XLS for Javaを使用して、データベースからExcelへデータを書き出す手順を説明します。
- Workbook クラスのオブジェクトを作成します。
- Workbook.getWorksheets().get() メソッドを使用して、最初のワークシートを取得します。
- DataTable クラスのオブジェクトを作成します。
- データベースに接続し、データベースから DataTable にデータを書き出します。
- Worksheet.insertDataTable() メソッドを使用して、DataTable をワークシートに書き込む。
- Workbook.saveToFile() メソッドを使用してワークブックを保存します。
Java
import com.spire.data.table.DataTable;
import com.spire.data.table.common.JdbcAdapter;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import java.sql.*;
public class exportDataFromDatabaseToExcel {
public static void main(String[] args) {
//Workbookクラスのオブジェクトを作成する
Workbook wb = new Workbook();
//最初のワークシートを取得する
Worksheet sheet = wb.getWorksheets().get(0);
//DataTableクラスのオブジェクトを作成する
DataTable dataTable = new DataTable();
//データベースに接続する
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};"
+ "DBQ=C:/Users/Allen/Desktop/データベース.mdb";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try {
Connection conn = DriverManager.getConnection(url);
Statement sta = conn.createStatement();
//データベースからテーブルを選択する
ResultSet resultSet = sta.executeQuery("select * from テーブル1");
JdbcAdapter jdbcAdapter = new JdbcAdapter();
//データベースからDataTableにデータを書き出す
jdbcAdapter.fillDataTable(dataTable, resultSet);
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//ワークシートにDataTableを書き込む
sheet.insertDataTable(dataTable, true, 1, 1);
//列幅を自動に調整する
sheet.getAllocatedRange().autoFitColumns();
//Excelファイルに保存する
wb.saveToFile("Excelへの書き出し.xlsx", ExcelVersion.Version2016);
}
}
【出力されるExcelファイル】
この記事では、データベースからExcelワークシートにデータをインポートする方法について説明します。この記事を読んでもまだ問題がある場合、またはSpire.XLS for Javaについてもっと知りたい場合は、Spire.XLS Forumに移動してください。