Menggabungkan Beberapa File Excel menjadi Satu

Anda memiliki beberapa buku kerja Excel (XLSX, XLS), dan Anda ingin menggabungkannya menjadi satu file untuk melaporkan atau menyimpan data di satu tempat. Sebagai pengembang Java, Anda dapat dengan mudah menggabungkan beberapa file Excel menjadi satu file secara terprogram. Dalam artikel ini, Anda akan mempelajari cara menggabungkan beberapa file Excel menjadi satu menggunakan Java. Topik-topik berikut dibahas/dibahas dalam artikel ini:

Java API untuk Menggabungkan File Excel

Untuk menggabungkan beberapa file Excel, saya akan menggunakan Aspose.Cells for Java API. API ini memungkinkan Anda membuat, memanipulasi, mengonversi, melindungi, atau mencetak spreadsheet tanpa bergantung pada Microsoft Excel. Ini memungkinkan Anda untuk melakukan fitur otomasi Excel secara terprogram dalam aplikasi Java Anda. Anda dapat mengunduh JAR API atau cukup menambahkan konfigurasi pom.xml berikut di aplikasi Java berbasis Maven Anda untuk mencoba contoh kode yang disebutkan di bawah ini.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.8</version>
</dependency>

Java Menggabungkan Beberapa File Excel menjadi Satu

Anda dapat dengan mudah menggabungkan beberapa file Excel menjadi satu file secara terprogram dengan mengikuti langkah-langkah yang disebutkan di bawah ini:

  1. Buat instance kelas Workbook dengan file sumber pertama
  2. Buat instance kelas Workbook dengan file sumber kedua
  3. Ulangi langkah di atas untuk menggabungkan lebih dari dua file
  4. Panggil metode combine() dengan instance file sumber kedua
  5. Ulangi langkah di atas untuk semua file sumber satu per satu
  6. Simpan file keluaran dengan memanggil metode save() dari kelas Workbook Contoh kode berikut menunjukkan cara menggabungkan beberapa file Excel menjadi satu file menggunakan Java.
    // Open the first excel file.
    Workbook SourceBook1 = new Workbook("C:\\Files\\Quarter_1.xlsx");
    // Open the second excel file.
    Workbook SourceBook2 = new Workbook("C:\\Files\\Quarter_2.xlsx");
    // Open the third excel file.
    Workbook SourceBook3 = new Workbook("C:\\Files\\Quarter_3.xlsx");
    // Copy worksheets of second Excel file to the first workbook.
    SourceBook1.combine(SourceBook2);
    // Copy worksheets of third Excel file to the first workbook.
    SourceBook1.combine(SourceBook3);
    // Save the updated first excel file as a new file.
    SourceBook1.save("C:\\Files\\CombinedFile.xlsx");
    Gabungkan Beberapa File Excel menjadi Satu menggunakan Java

    Gabungkan Beberapa File Excel menjadi Satu menggunakan Java

Kelas API Workbook adalah kelas utama yang digunakan untuk membuat Spreadsheet Excel. Ini memungkinkan Anda untuk membuka dan menyimpan file Excel asli. Ini juga menyediakan beberapa properti dan metode untuk bekerja dengan Excel Spreadsheet. Metode combine() kelas ini menggabungkan buku kerja saat ini dengan objek Buku Kerja lainnya. Metode save() dari kelas Workbook menyimpan file keluaran di jalur file yang ditentukan.

Gabungkan Lembar Kerja Tertentu dari Beberapa File Excel menjadi Satu - Panduan Java

Anda dapat dengan mudah menggabungkan lembar kerja tertentu dari beberapa file Excel menjadi satu file secara terprogram dengan mengikuti langkah-langkah yang disebutkan di bawah ini:

  1. Buat instance kelas Workbook untuk file sumber 1
  2. Buat instance kelas Workbook untuk file sumber 2
  3. Ulangi langkah di atas untuk menggabungkan lembar kerja dari lebih dari dua file
  4. Buat instance kelas Workbook untuk file tujuan
  5. Tambahkan lembar kerja menggunakan metode add() dari kelas WorksheetCollection
  6. Panggil metode copy() untuk menyalin lembar kerja tertentu dari file sumber 1 ke file tujuan
  7. Panggil metode copy() untuk menyalin lembar kerja tertentu dari file sumber 2 ke file tujuan
  8. Ganti nama lembar kerja di file tujuan dengan menggunakan metode setName()
  9. Simpan file tujuan dengan memanggil metode save() dari kelas Workbook Contoh kode berikut menunjukkan cara menggabungkan lembar kerja tertentu dari beberapa file Excel menjadi satu file menggunakan Java.
    String sourceFile1 = "Quarter_1.xlsx";
    String sourceFile2 = "Quarter_2.xlsx";
    // Open the first Excel file.
    Workbook excelA = new Workbook("C:\\Files\\" + sourceFile1);
    // Open the second Excel file.
    Workbook excelB = new Workbook("C:\\Files\\" + sourceFile2);
    // Create destination Workbook.
    Workbook destWorkbook = new Workbook();
    // First worksheet is added by default to the Workbook. Add the second worksheet.
    destWorkbook.getWorksheets().add();
    // Copy the Jan worksheet of first Excel file to destination file.
    destWorkbook.getWorksheets().get(0).copy(excelA.getWorksheets().get("Jan"));
    // Copy the Jul worksheet of second Excel file to destination file.
    destWorkbook.getWorksheets().get(1).copy(excelB.getWorksheets().get("Jul"));
    // By default, the worksheet names are "Sheet1" and "Sheet2" respectively.
    // Lets give them meaningful names.
    destWorkbook.getWorksheets().get(0).setName(sourceFile1 + " - Jan");
    destWorkbook.getWorksheets().get(1).setName(sourceFile2 + " - Jul");
    // Save the destination file.
    destWorkbook.save("C:\\Files\\CombinedSpecificSheetsInFile.xlsx");
    Gabungkan Lembar Kerja Tertentu dari Beberapa File Excel menjadi Satu menggunakan Java

    Gabungkan Lembar Kerja Tertentu dari Beberapa File Excel menjadi Satu menggunakan Java

Metode properti getWorksheets() dari kelas Workbook mengembalikan koleksi semua lembar kerja dalam Workbook. Anda dapat menambahkan lembar kerja ke kumpulan lembar kerja menggunakan metode add(). Kelas Worksheet API ini mewakili satu lembar kerja. Ini menyediakan beberapa properti dan metode untuk bekerja dengan lembar kerja. Metode copy() kelas ini menyalin konten dan format dari lembar kerja lain. Kelas Lembar Kerja juga menyediakan metode get() untuk mendapatkan lembar kerja tertentu berdasarkan indeks atau namanya. Metode properti setName() menetapkan nama lembar kerja.

Java Menggabungkan Beberapa Lembar Kerja menjadi Satu Lembar Kerja

Anda dapat dengan mudah menggabungkan beberapa lembar kerja dari file Excel menjadi satu lembar kerja secara terprogram dengan mengikuti langkah-langkah yang disebutkan di bawah ini:

  • Buat instance kelas Workbook untuk file sumber
  • Tambahkan lembar kerja baru menggunakan metode add()
  • Ulangi lembar kerja sumber dan lakukan hal berikut:
  • membuat rentang sel dan kolom untuk satu lembar kerja menggunakan metode createRange()
  • Salin data dari rentang sumber ke rentang tujuan menggunakan metode copy()
  • Simpan file keluaran dengan memanggil metode save() dari kelas Workbook Contoh kode berikut menunjukkan cara menggabungkan beberapa lembar kerja menjadi satu lembar kerja menggunakan Java.
    // Open an Excel file that contains the worksheets:
    // Jan, Feb, Mar, and Apr
    Workbook workbook = new Workbook("C:\\Files\\Quarter_1.xlsx");
    // Add a worksheet named Summary_sheet
    Worksheet summarySheet = workbook.getWorksheets().add("Summary_sheet");
    // Iterate over source worksheets to copy data to the
    // summary worksheet
    String[] nameOfSourceWorksheets = { "Jan", "Feb", "Mar", "Apr" };
    int totalRowCount = 0;
    for (String sheetName : nameOfSourceWorksheets)
    {
    // Get worksheet
    Worksheet sourceSheet = workbook.getWorksheets().get(sheetName);
    Range sourceRange = null;
    Range destRange = null;
    // In case of Jan worksheet, include all rows and columns.
    if (sheetName.equals("Jan"))
    {
    sourceRange = sourceSheet.getCells().getMaxDisplayRange();
    destRange = summarySheet.getCells().createRange(
    sourceRange.getFirstRow() + totalRowCount,
    sourceRange.getFirstColumn(),
    sourceRange.getRowCount(),
    sourceRange.getColumnCount());
    }
    // In case of other worksheets,
    // exclude the first row (which contains headings).
    else
    {
    int mdatarow = sourceSheet.getCells().getMaxDataRow(); // Zero-based
    int mdatacol = sourceSheet.getCells().getMaxDataColumn(); // Zero-based
    sourceRange = sourceSheet.getCells().createRange(0 + 1, 0, mdatarow, mdatacol + 1);
    destRange = summarySheet.getCells().createRange(
    sourceRange.getFirstRow() + totalRowCount -1,
    sourceRange.getFirstColumn(),
    sourceRange.getRowCount(),
    sourceRange.getColumnCount());
    }
    // Copies data, formatting, drawing objects etc. from a
    // source range to destination range.
    destRange.copy(sourceRange);
    totalRowCount = sourceRange.getRowCount() + totalRowCount;
    }
    // Save the workbook
    workbook.save("C:\\Files\\Summarized.xlsx");
    Gabungkan Beberapa Lembar Kerja menjadi Satu Lembar Kerja menggunakan Java

    Gabungkan Beberapa Lembar Kerja menjadi Satu Lembar Kerja menggunakan Java

Metode properti getCells() dari kelas Lembar Kerja menyediakan kumpulan Sel yang tersedia di lembar kerja. Kelas API Cells mewakili kumpulan objek yang relevan dengan sel, seperti Sel, Baris, dll. getMaxDisplayRange( ) metode properti kelas Cells menyediakan rentang maksimum yang mencakup data, sel gabungan, dan bentuk. Kelas Range mewakili rentang sel dalam spreadsheet. Kelas Sel menyediakan metode berikut untuk membuat rentang sel:

  • Metode createRange(int firstIndex, int number, boolean isVertical) untuk membuat objek Range dari baris sel atau kolom sel.
  • createRange(int firstRow, int firstColumn, int totalRows, int totalColumns) untuk membuat objek Range dari rentang sel.
  • Metode createRange(java.lang.String address) membuat objek Range dari alamat range.
  • Metode createRange(java.lang.String upperLeftCell, java.lang.String lowerRightCell) membuat objek Range dari rentang sel. Metode copy() dari kelas Range menyalin semua jenis data (termasuk formula), pemformatan, menggambar objek, dll. dari rentang sumber ke rentang tujuan.

Gabungkan Kolom dari Beberapa Lembar Kerja menjadi Satu menggunakan Java

Anda dapat dengan mudah menggabungkan kolom dari beberapa lembar kerja menjadi satu lembar kerja secara terprogram dengan mengikuti langkah-langkah yang disebutkan di bawah ini:

  • Buat instance kelas Workbook untuk file sumber
  • Tambahkan lembar kerja baru menggunakan metode add()
  • Ulangi lembar kerja sumber dan lakukan hal berikut:
  • Salin semua kolom satu per satu menggunakan metode copyColumn() dengan sel lembar kerja sumber dan indeks kolom
  • Simpan file keluaran dengan memanggil metode save() dari kelas Workbook Contoh kode berikut menunjukkan cara menggabungkan kolom dari beberapa lembar kerja menjadi satu lembar kerja menggunakan Java.
    // Open a Workbook.
    Workbook workbook = new Workbook("C:\\Files\\sample.xlsx");
    // Add a worksheet named Summary_sheet
    Worksheet summarySheet = workbook.getWorksheets().add("Summary_sheet");
    // Iterate over worksheets to copy columns to the
    // summary worksheet
    String[] nameOfSourceWorksheets = { "Products", "Sales", "Customers" };
    int totalCol = 0;
    for (String sheetName : nameOfSourceWorksheets) {
    Worksheet sourceSheet = workbook.getWorksheets().get(sheetName);
    if (sheetName.equals("Products")) {
    // Get worksheet columns collection
    ColumnCollection columns = sourceSheet.getCells().getColumns();
    // copy column to summaySheet
    for (Column column : (Iterable<Column>) columns)
    {
    summarySheet.getCells().copyColumn(sourceSheet.getCells(), column.getIndex(), totalCol);
    totalCol = totalCol + 1;
    }
    }
    else {
    // Get worksheet columns collection
    ColumnCollection columns = sourceSheet.getCells().getColumns();
    // copy column to summaySheet
    for (Column column : (Iterable<Column>) columns)
    {
    summarySheet.getCells().copyColumn(sourceSheet.getCells(), column.getIndex(), totalCol);
    totalCol = totalCol + 1;
    }
    }
    }
    // Save the excel file.
    workbook.save("C:\\Files\\CopyingColumns_out.xlsx");
    Gabungkan Kolom dari Beberapa Lembar Kerja menjadi Satu menggunakan Java

    Gabungkan Kolom dari Beberapa Lembar Kerja menjadi Satu menggunakan Java

Metode properti getColumns() dari kelas Cells menyediakan kumpulan kolom yang tersedia di lembar kerja. Kelas ColumnCollection mewakili kumpulan masing-masing kolom dalam lembar kerja, sedangkan kelas Column mewakili satu kolom dalam lembar kerja. Metode copyColumn() dari kelas Cells menyalin data dan format seluruh kolom. Kelas Cells juga menyediakan metode copyColumn() yang kelebihan muatan untuk menyalin data dengan PasteOptions, nomor kolom, sumber, dan kolom total tujuan, dll.

Dapatkan Lisensi Gratis

Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.

Kesimpulan

Dalam artikel ini, Anda telah mempelajari cara menggabungkan beberapa file Excel menjadi satu file. Anda juga telah mempelajari cara menggabungkan lembar kerja tertentu dari beberapa file Excel menggunakan Java. Selain itu, Anda telah mempelajari cara menggabungkan beberapa lembar kerja menjadi satu lembar kerja secara terprogram. Artikel ini juga menjelaskan cara menggabungkan kolom dari beberapa lembar kerja menjadi satu menggunakan Java. Anda dapat mempelajari lebih lanjut tentang Aspose.Cells untuk Java API menggunakan dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum.

Lihat juga