La copia di righe e colonne è un’attività comune che viene eseguita mentre si lavora con i file Excel. Potrebbero verificarsi situazioni in cui è necessario copiare righe o colonne nei file Excel a livello di codice. In questi casi, questo articolo ti insegnerà come copiare righe e colonne in file Excel usando C++.

API C++ per copiare righe e colonne in file Excel

Aspose.Cells for C++ è una libreria C++ nativa che consente di creare, leggere e modificare file Excel senza richiedere l’installazione di Microsoft Excel. L’API offre anche la possibilità di copiare righe e colonne in file Excel. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.Cells.Cpp

Copia una singola riga in un file Excel usando C++

Quella che segue è l’immagine del file Excel di origine che useremo nei seguenti esempi.

Foglio di lavoro di origine

Di seguito sono riportati i passaggi per copiare una singola riga in un file Excel utilizzando C++.

Il codice di esempio seguente mostra come copiare una riga in un file di Excel usando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di input
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Ottieni il primo foglio di lavoro
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copia riga
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Immagine che mostra la riga copiata

Immagine che mostra la riga copiata

Copia di più righe in un file Excel utilizzando C++

Per copiare più righe, utilizzeremo il metodo CopyIRows che accetta un parametro aggiuntivo che indica il numero totale di righe da copiare. Per copiare più righe, segui i passaggi indicati di seguito.

Il codice di esempio seguente mostra come copiare più righe in un file di Excel usando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di input
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Ottieni il primo foglio di lavoro
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copia righe
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Immagine che mostra le righe copiate

Immagine che mostra le righe copiate

Copia una singola colonna in un file Excel usando C++

Di seguito sono riportati i passaggi per copiare una singola colonna in un file Excel utilizzando C++.

Il codice di esempio seguente mostra come copiare una singola colonna in un file di Excel usando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di input
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Ottieni il primo foglio di lavoro
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copia colonna
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Immagine che mostra la colonna copiata

Immagine che mostra la colonna copiata

Copia di più colonne in un file Excel utilizzando C++

Per copiare più colonne, utilizzeremo il metodo CopyIColumns che accetta un parametro aggiuntivo che indica il numero totale di colonne da copiare. Per copiare più colonne, segui i passaggi indicati di seguito.

Il codice di esempio seguente mostra come copiare più colonne in un file di Excel usando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di input
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Ottieni il primo foglio di lavoro
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Copia colonne
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);

// Salva il file Excel
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Immagine che mostra le colonne copiate

Immagine che mostra le colonne copiate

Ottieni una licenza gratuita

Per provare l’API senza limitazioni di valutazione, puoi richiedere una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato come copiare righe e colonne in un file Excel usando C++. Gli esempi di codice condiviso mostrano come copiare righe e colonne singole e multiple in un file Excel. Abbiamo utilizzato l’API Aspose.Cells per C++ per ottenere questo risultato. È un’API robusta che fornisce molte funzionalità aggiuntive per lavorare con i file Excel. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci nel nostro forum di supporto gratuito.

Guarda anche