Java - 데이터베이스에서 Excel로 데이터 내보내기

Excel은 많은 양의 데이터를 정렬, 구조화, 분석 및 조작하는 데 널리 알려져 있고 사용되는 도구입니다. 데이터베이스의 데이터를 분석해야 하는 경우 먼저 데이터를 Excel 스프레드시트로 변환할 수 있습니다. 이 기사에서는 Spire.XLS for Java을 사용하여 Access 테이블에서 Excel로 데이터를 내보내는 방법을 소개합니다.

Spire.Xls jar를 종속성으로 추가



Maven 프로젝트에서 작업하는 경우 다음을 사용하여 pom.xml 파일에 종속성을 포함할 수 있습니다.

<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</artifactId>
        <version>12.8.4</version>
    </dependency>
</dependencies>


maven을 사용하지 않는 경우 this location 에서 제공되는 zip 파일에서 필요한 jar 파일을 찾을 수 있습니다. 이 자습서에 제공된 샘플 코드를 실행하려면 모든 jar 파일을 애플리케이션 lib 폴더에 포함합니다.

데이터베이스에서 Excel로 데이터 내보내기



다음은 Java용 Spire.XLS를 사용하여 데이터베이스에서 Excel로 데이터를 내보내는 단계입니다.
  • 통합 문서 개체를 만듭니다.
  • Workbook.getWorksheets().get() 메서드를 사용하여 첫 번째 워크시트를 가져옵니다.
  • DataTable 개체를 만듭니다.
  • 데이터베이스에 연결하고 데이터베이스에서 데이터 테이블로 데이터를 내보냅니다.
  • Worksheet.insertDataTable() 메서드를 사용하여 워크시트에 데이터 테이블을 씁니다.
  • Workbook.saveToFile() 메서드를 사용하여 통합 문서를 Excel 파일에 저장합니다.

  • 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) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Get the first worksheet
            Worksheet sheet = wb.getWorksheets().get(0);
    
            //Create a DataTable object
            DataTable dataTable = new DataTable();
    
            //Connect to database
            String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};"
                    + "DBQ=C:\\Users\\Administrator\\Desktop\\Document\\data.mdb";
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                try {
                    Connection conn = DriverManager.getConnection(url);
                    Statement sta = conn.createStatement();
    
                    //Select table from the database
                    ResultSet resultSet = sta.executeQuery("select * from vendors");
                    JdbcAdapter jdbcAdapter = new JdbcAdapter();
    
                    //Export data from database to datatable
                    jdbcAdapter.fillDataTable(dataTable, resultSet);
    
                } catch (SQLException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
    
            //Write datatable to the worksheet
            sheet.insertDataTable(dataTable, true, 1, 1);
    
            //Auto fit column width
            sheet.getAllocatedRange().autoFitColumns();
    
            //Save to an Excel file
            wb.saveToFile("output/ExportToExcel.xlsx", ExcelVersion.Version2016);
        }
    }
    


    산출



    좋은 웹페이지 즐겨찾기