Elimina righe e colonne vuote in Excel utilizzando Java

Possiamo rimuovere facilmente righe e colonne vuote dai fogli di lavoro di Excel in modo programmatico. In questo articolo impareremo come eliminare righe e colonne vuote in Excel utilizzando Java.

In questo articolo verranno trattati i seguenti argomenti:

API Java per eliminare righe e colonne vuote in Excel

Per rimuovere righe e colonne vuote dai file XLSX, utilizzeremo l’API Aspose.Cells for Java. Si prega di scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml in un’applicazione Java basata su Maven.

<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.11</version>
</dependency>

Elimina le righe vuote in Excel utilizzando Java

Possiamo eliminare le righe vuote dai fogli di lavoro di Excel in modo programmatico seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un file Excel utilizzando la classe Cartella di lavoro.
  • Quindi, chiama il metodo Workbook.getWorksheets() e ottieni i fogli di lavoro nell’oggetto WorksheetCollection.
  • Quindi, accedi al foglio di lavoro che contiene le righe vuote in base al relativo indice (a base zero) o al nome.
  • Successivamente, chiama il metodo Cells.deleteBlankRows() per eliminare le righe vuote dal foglio di lavoro a cui si accede.
  • Infine, chiama il metodo save() con il percorso del file di output per salvare il file di output.

Il codice di esempio seguente mostra come rimuovere le righe vuote da Excel utilizzando Java.

// Carica un file excel esistente.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Ottieni la raccolta di fogli di lavoro nel foglio di calcolo.
WorksheetCollection sheets = workbook.getWorksheets();

// Ottieni il primo foglio di lavoro da WorksheetCollection per indice.
Worksheet sheet = sheets.get(0);
// O per nome.
// Foglio di lavoro = sheet.get("Foglio1");

// Elimina le righe vuote dal foglio di lavoro.
sheet.getCells().deleteBlankRows();

// Salva il file excel aggiornato.
workbook.save("C:\\Files\\Cells\\output.xlsx");
Elimina le righe vuote in Excel utilizzando Java.

Elimina le righe vuote in Excel utilizzando Java.

Allo stesso modo, possiamo eliminare righe vuote da tutti i fogli di lavoro in un documento Excel. Itereremo semplicemente su WorksheetCollection e chiameremo il metodo deleteBlankRows() su ogni foglio di lavoro come mostrato nel seguente esempio di codice:

// Apri un file excel esistente.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Ottieni la raccolta di fogli di lavoro
WorksheetCollection worksheets = workbook.getWorksheets();

// Iterare sui fogli di lavoro.
for (int i=0; i<worksheets.getCount(); i++)
{
    // Accedi ai fogli di lavoro uno per uno
    Worksheet sheet = worksheets.get(i);
  
    // Elimina le righe vuote dal foglio di lavoro.
    sheet.getCells().deleteBlankRows();
}

// Salva il file excel aggiornato.
workbook.save("C:\\Files\\Cells\\output.xlsx");

Elimina colonne vuote in Excel utilizzando Java

Possiamo eliminare le colonne vuote dai fogli di lavoro di Excel in modo programmatico seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un file Excel utilizzando la classe Cartella di lavoro.
  • Quindi, chiama il metodo Workbook.getWorksheets() e ottieni i fogli di lavoro nell’oggetto WorksheetCollection.
  • Quindi, accedi al foglio di lavoro che contiene le colonne vuote in base al relativo indice (a base zero) o al nome.
  • Successivamente, chiama il metodo Cells.deleteBlankColumns() per eliminare le colonne vuote dal foglio di lavoro a cui si accede.
  • Infine, chiama il metodo save() con il percorso del file di output per salvare il file di output.

Il codice di esempio seguente mostra come rimuovere le colonne vuote da Excel utilizzando Java.

// Apri un file excel esistente.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Ottieni la raccolta di fogli di lavoro nel foglio di calcolo.
WorksheetCollection sheets = workbook.getWorksheets();

// Ottieni il primo foglio di lavoro da WorksheetCollection per indice.
Worksheet sheet = sheets.get(2);

// Elimina le colonne vuote.
sheet.getCells().deleteBlankColumns(options);

// Salva il file excel aggiornato.
workbook.save("C:\\Files\\Cells\\output_DeleteBlankColumns.xlsx");	
Elimina colonne vuote in Excel utilizzando Java.

Elimina colonne vuote in Excel utilizzando Java.

Aggiorna i riferimenti automaticamente durante l’eliminazione di righe e colonne vuote

L’eliminazione di righe o colonne vuote può interrompere i riferimenti in formule, grafici e tabelle. Ad esempio, la cella A1 in Foglio2 ha una formula =Foglio1!C7 che si riferisce alla cella C7 del primo foglio di lavoro, come mostrato nella figura seguente.

Una cella A1 in Sheet2 fa riferimento a un valore della cella C7 in Sheet1.

Una cella A1 in Sheet2 fa riferimento a un valore della cella C7 in Sheet1.

Se rimuoviamo le righe vuote in Sheet1, il valore di C7 (650000) verrà spostato nella cella C6. Ma la formula (=Foglio1!C7) non si aggiornerà e la cella A1 mostrerà il valore di C7 che in questo caso sarà 550000. Possiamo evitare questo problema impostando DeleteOptions.setUpdateReference su true. Garantirà che i riferimenti vengano aggiornati durante l’eliminazione delle righe vuote.

Possiamo aggiornare i riferimenti automaticamente mentre eliminiamo le righe vuote dai fogli di lavoro di Excel in modo programmatico seguendo i passaggi indicati di seguito:

  • Innanzitutto, carica un file Excel utilizzando la classe Cartella di lavoro.
  • Quindi, chiama il metodo Workbook.getWorksheets() e ottieni i fogli di lavoro nell’oggetto WorksheetCollection.
  • Quindi, accedi al foglio di lavoro per indice (a base zero) o per nome con le righe vuote.
  • Quindi, crea un’istanza della classe DeleteOptions.
  • Quindi, chiama setUpdateReferences() su true. Aggiornerà i riferimenti in altri fogli eliminando le righe vuote.
  • Successivamente, chiama il metodo Cells.deleteBlankRows() con l’oggetto DeleteOptions come argomento per eliminare le righe vuote dal foglio di lavoro a cui si accede.
  • Infine, chiama il metodo save() con il percorso del file di output per salvare il file di output.

Il codice di esempio seguente mostra come aggiornare i riferimenti durante l’eliminazione delle righe vuote in Excel.

// Apri un file excel esistente.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Ottieni la raccolta di fogli di lavoro nel foglio di calcolo.
WorksheetCollection sheets = workbook.getWorksheets();

// Ottieni il primo foglio di lavoro da WorksheetCollection per indice.
Worksheet sheet = sheets.get(0);

// Questa opzione garantirà i riferimenti (in formule, grafici)
// vengono aggiornati durante l'eliminazione di righe vuote.
DeleteOptions options = new DeleteOptions();
options.setUpdateReference(true);

// Elimina le righe vuote dal foglio di lavoro.
sheet.getCells().deleteBlankRows(options);

// Salva il file excel aggiornato.
workbook.save("C:\\Files\\Cells\\output_UpdateReferencesAutomatically.xlsx");

Allo stesso modo, possiamo aggiornare i riferimenti mentre eliminiamo le colonne vuote in Excel. Tuttavia, dobbiamo solo chiamare il metodo deleteBlankColumns() con DeleteOptions come argomento.

Ottieni una licenza gratuita

Prova l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, abbiamo imparato come eliminare righe e colonne in Excel utilizzando Java. Abbiamo anche visto come aggiornare i riferimenti eliminando righe e colonne a livello di codice. Inoltre, puoi saperne di più su Aspose.Cells per l’API Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche