Att kopiera rader och kolumner är en vanlig uppgift som utförs när man arbetar med Excel-filer. Det kan finnas situationer där du behöver kopiera rader eller kolumner i Excel-filer programmatiskt. För sådana fall kommer den här artikeln att lära dig hur du kopierar rader och kolumner i Excel-filer med C++.
- C++ API för att kopiera rader och kolumner i Excel-filer
- Kopiera en enda rad i en Excel-fil med C++
- Kopiera flera rader i en Excel-fil med C++
- Kopiera en enstaka kolumn i en Excel-fil med C++
- Kopiera flera kolumner i en Excel-fil med C++
C++ API för att kopiera rader och kolumner i Excel-filer
Aspose.Cells for C++ är ett inbyggt C++-bibliotek som låter dig skapa, läsa och ändra Excel-filer utan att Microsoft Excel behöver installeras. API:et ger också möjlighet att kopiera rader och kolumner i Excel-filer. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.
PM> Install-Package Aspose.Cells.Cpp
Kopiera en enda rad i en Excel-fil med C++
Följande är bilden av källfilen i Excel som vi kommer att använda i följande exempel.
Följande är stegen för att kopiera en enstaka rad i en Excel-fil med C++.
- Ladda Excel-filen med klassen IWorkbook.
- Hämta kalkylbladet där du vill kopiera raden.
- Kopiera raden med hjälp av CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex) metod.
- Spara Excel-filen med hjälp av IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String filnamn) metod.
Följande exempelkod visar hur man kopierar en rad i en Excel-fil med C++.
// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");
// Ladda indata Excel-filen
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Skaffa det första arbetsbladet
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopiera rad
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);
// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Kopiera flera rader i en Excel-fil med C++
För att kopiera flera rader kommer vi att använda metoden CopyIRows som accepterar en extra parameter som anger det totala antalet rader som ska kopieras. För att kopiera flera rader, följ stegen nedan.
- Ladda Excel-filen med klassen IWorkbook.
- Hämta kalkylbladet där du vill kopiera raderna.
- Kopiera raderna med hjälp av CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber) metod.
- Spara Excel-filen med hjälp av IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String filnamn) metod.
Följande exempelkod visar hur du kopierar flera rader i en Excel-fil med C++.
// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");
// Ladda indata Excel-filen
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Skaffa det första arbetsbladet
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopiera rader
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);
// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Kopiera en enstaka kolumn i en Excel-fil med C++
Följande är stegen för att kopiera en enstaka kolumn i en Excel-fil med C++.
- Ladda Excel-filen med klassen IWorkbook.
- Hämta kalkylbladet dit du vill kopiera kolumnen.
- Kopiera kolumnen med hjälp av CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex) metod.
- Spara Excel-filen med hjälp av IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String filnamn) metod.
Följande exempelkod visar hur man kopierar en enstaka kolumn i en Excel-fil med C++.
// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");
// Ladda indata Excel-filen
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Skaffa det första arbetsbladet
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopiera kolumn
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);
// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Kopiera flera kolumner i en Excel-fil med C++
För att kopiera flera kolumner kommer vi att använda metoden CopyIColumns som accepterar ytterligare en parameter som anger det totala antalet kolumner som ska kopieras. För att kopiera flera kolumner, följ stegen nedan.
- Ladda Excel-filen med klassen IWorkbook.
- Hämta kalkylbladet dit du vill kopiera kolumnerna.
- Kopiera kolumnerna med hjälp av CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 columnNumber) metod.
- Spara Excel-filen med hjälp av IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String filnamn) metod.
Följande exempelkod visar hur du kopierar flera kolumner i en Excel-fil med C++.
// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");
// Ladda indata Excel-filen
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Skaffa det första arbetsbladet
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Kopiera kolumner
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);
// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Skaffa en gratis licens
För att prova API utan utvärderingsbegränsningar kan du begära en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du kopierar rader och kolumner i en Excel-fil med C++. De delade kodexemplen visar hur man kopierar enstaka och flera rader och kolumner i en Excel-fil. Vi använde Aspose.Cells for C++ API för att uppnå detta. Det är ett robust API som ger många ytterligare funktioner för att arbeta med Excel-filer. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.