Kopírovat nebo přesouvat sešity aplikace Excel

Soubory Excel se používají pro správu složitých dat, jako jsou rozpočty oddělení nebo roční zprávy o prodeji. Mohou nastat situace, kdy máte připravenou šablonu, kterou chcete použít k vytvoření sestavy. Za tímto účelem můžete vytvořit kopii šablony listu. Možná budete také muset uspořádat listy, abyste demonstrovali tok dat. Pro takové případy si můžete upravit uspořádání pracovních listů podle svých požadavků. Ve světle toho se naučíte, jak kopírovat a přesouvat listy programově pomocí C++.

C++ API pro kopírování nebo přesouvání excelových listů

Aspose.Cells for C++ je nativní knihovna C++, která umožňuje vytvářet, číst a aktualizovat soubory aplikace Excel bez nutnosti instalace aplikace Microsoft Excel. API také podporuje kopírování a přesouvání excelových listů. 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

Kopírování listů v sešitu aplikace Excel pomocí C++

Níže jsou uvedeny kroky ke kopírování listů v sešitu aplikace Excel.

Následuje ukázkový kód pro kopírování listu v sešitu aplikace Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Získejte pracovní listy
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Zkopírujte data do nového listu z existujícího listu v sešitu.
sheets->AddCopy(new String("Sheet1"));

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

Zkopírujte listy z jednoho sešitu do druhého

Aspose.Cells for C++ také umožňuje kopírovat listy mezi dvěma soubory aplikace Excel. Následují kroky ke zkopírování listu z jednoho souboru aplikace Excel do druhého.

Následuje ukázkový kód pro zkopírování listu z jednoho sešitu aplikace Excel do jiného pomocí jazyka C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte zdrojový soubor Excel
intrusive_ptr<IWorkbook> sourceWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Načtěte cílový soubor Excel
intrusive_ptr<IWorkbook> destinationWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("book1.xlsx")));

// Načíst listy zdrojového sešitu
intrusive_ptr<IWorksheetCollection> sheets = sourceWorkbook->GetIWorksheets();

// Načtěte list, který chcete zkopírovat
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(0);

// Zkopírujte dříve načtený list do nového sešitu
destinationWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

// Uložte soubor Excel
destinationWorkbook->Save(outDir->StringAppend(new String("book1_out.xlsx")));

Přesunout list na jinou pozici pomocí C++

Následují kroky ke změně pozice listu v sešitu aplikace Excel.

Následuje ukázkový kód pro přesunutí listu na jinou pozici ve stejném sešitu pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Získejte pracovní listy
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Otevřete první list
intrusive_ptr<IWorksheet> sheet = sheets->GetObjectByIndex(0);

// Přesuňte první list na druhé místo v sešitu.
sheet->MoveTo(1);

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

Získejte bezplatnou licenci

Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili kopírovat listy v rámci stejného sešitu aplikace Excel nebo mezi různými sešity. Dále jste viděli, jak změnit pozici listu v souboru aplikace Excel. Aspose.Cells for C++ poskytuje mnoho dalších funkcí pro práci se soubory aplikace Excel, které můžete prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také