Kopírování řádků a sloupců je běžným úkolem, který se provádí při práci se soubory aplikace Excel. Mohou nastat situace, kdy potřebujete zkopírovat řádky nebo sloupce v souborech aplikace Excel programově. Pro takové případy vás tento článek naučí, jak kopírovat řádky a sloupce v souborech aplikace Excel pomocí C++.
- C++ API pro kopírování řádků a sloupců v souborech aplikace Excel
- Zkopírujte jeden řádek v souboru aplikace Excel pomocí C++
- Kopírování více řádků v souboru aplikace Excel pomocí C++
- Zkopírujte jeden sloupec do souboru aplikace Excel pomocí C++
- Kopírování více sloupců v souboru aplikace Excel pomocí C++
C++ API pro kopírování řádků a sloupců v souborech aplikace Excel
Aspose.Cells for C++ je nativní knihovna C++, která umožňuje vytvářet, číst a upravovat soubory aplikace Excel bez nutnosti instalace aplikace Microsoft Excel. Rozhraní API také poskytuje možnost kopírovat řádky a sloupce v souborech aplikace Excel. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.
PM> Install-Package Aspose.Cells.Cpp
Zkopírujte jeden řádek v souboru aplikace Excel pomocí C++
Následuje obrázek zdrojového souboru Excel, který použijeme v následujících příkladech.
Níže jsou uvedeny kroky ke zkopírování jednoho řádku v souboru aplikace Excel pomocí C++.
- Načtěte soubor Excel pomocí třídy IWorkbook.
- Načtěte list, kam chcete řádek zkopírovat.
- Zkopírujte řádek pomocí CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex) metoda.
- Uložte soubor Excel pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
Následující ukázkový kód ukazuje, jak zkopírovat řádek v souboru aplikace Excel pomocí C++.
// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");
// Načtěte vstupní soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Získejte první pracovní list
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopírovat řádek
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);
// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Kopírování více řádků v souboru aplikace Excel pomocí C++
Abychom zkopírovali více řádků, použijeme metodu CopyIRows, která akceptuje další parametr udávající celkový počet řádků ke kopírování. Chcete-li zkopírovat více řádků, postupujte podle níže uvedených kroků.
- Načtěte soubor Excel pomocí třídy IWorkbook.
- Načtěte list, kam chcete zkopírovat řádky.
- Zkopírujte řádky pomocí CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber).
- Uložte soubor Excel pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
Následující ukázkový kód ukazuje, jak zkopírovat více řádků v souboru aplikace Excel pomocí C++.
// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Cesta k výstupnímu adresáři.
StringPtr outDir = new String("OutputDirectory\\");
// Načtěte vstupní soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Získejte první pracovní list
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopírovat řádky
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);
// Uložte soubor Excel
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Zkopírujte jeden sloupec do souboru aplikace Excel pomocí C++
Níže jsou uvedeny kroky ke zkopírování jednoho sloupce v souboru aplikace Excel pomocí C++.
- Načtěte soubor Excel pomocí třídy IWorkbook.
- Načtěte list, kam chcete sloupec zkopírovat.
- Zkopírujte sloupec pomocí CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex) metoda.
- Uložte soubor Excel pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
Následující ukázkový kód ukazuje, jak zkopírovat jeden sloupec v souboru aplikace Excel pomocí C++.
// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");
// Načtěte vstupní soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Získejte první pracovní list
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopírovat sloupec
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);
// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Kopírování více sloupců v souboru aplikace Excel pomocí C++
Abychom zkopírovali více sloupců, použijeme metodu CopyIColumns, která akceptuje další parametr udávající celkový počet sloupců, které mají být zkopírovány. Chcete-li zkopírovat více sloupců, postupujte podle kroků uvedených níže.
- Načtěte soubor Excel pomocí třídy IWorkbook.
- Načtěte list, kam chcete zkopírovat sloupce.
- Zkopírujte sloupce pomocí CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 columnNumber) metoda.
- Uložte soubor Excel pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
Následující ukázkový kód ukazuje, jak zkopírovat více sloupců v souboru aplikace Excel pomocí C++.
// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");
// Načtěte vstupní soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Získejte první pracovní list
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopírovat sloupce
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);
// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Získejte bezplatnou licenci
Abyste mohli API vyzkoušet bez omezení hodnocení, můžete požádat o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili kopírovat řádky a sloupce v souboru aplikace Excel pomocí C++. Ukázky sdíleného kódu ukazují, jak kopírovat jeden a více řádků a sloupců v souboru aplikace Excel. K dosažení tohoto cíle jsme použili Aspose.Cells for C++ API. Jedná se o robustní API, které poskytuje mnoho dalších funkcí pro práci se soubory Excel. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoliv dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.