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
- Copia una singola riga in un file Excel usando C++
- Copia di più righe in un file Excel utilizzando C++
- Copia una singola colonna in un file Excel usando C++
- Copia di più colonne in un file Excel utilizzando 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.
Di seguito sono riportati i passaggi per copiare una singola riga in un file Excel utilizzando C++.
- Carica il file Excel utilizzando la classe IWorkbook.
- Recupera il foglio di lavoro in cui desideri copiare la riga.
- Copia la riga usando CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex).
- Salvare il file Excel utilizzando IWorkbook->Salva(intrusiveptrAspose::Cells::Systems::String nomefile).
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")));
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.
- Carica il file Excel utilizzando la classe IWorkbook.
- Recupera il foglio di lavoro in cui desideri copiare le righe.
- Copia le righe usando CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber).
- Salvare il file Excel utilizzando IWorkbook->Salva(intrusiveptrAspose::Cells::Systems::String nomefile).
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")));
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++.
- Carica il file Excel utilizzando la classe IWorkbook.
- Recupera il foglio di lavoro in cui desideri copiare la colonna.
- Copia la colonna usando CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex).
- Salvare il file Excel utilizzando IWorkbook->Salva(intrusiveptrAspose::Cells::Systems::String nomefile).
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")));
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.
- Carica il file Excel utilizzando la classe IWorkbook.
- Recupera il foglio di lavoro in cui desideri copiare le colonne.
- Copia le colonne usando CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 columnNumber).
- Salvare il file Excel utilizzando IWorkbook->Salva(intrusiveptrAspose::Cells::Systems::String nomefile).
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")));
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.