Hantera kalkylblad

Att hantera kalkylblad med Aspose.Cells är enkelt. I det här avsnittet kommer vi att beskriva hur vi kan:

  1. Skapa en ny Excelfil från grunden och lägga till ett kalkylblad i den
  2. Lägg till kalkylblad i designerkalkylblad
  3. Tillgång till kalkylblad med hjälp av kalkylbladsnamn
  4. Ta bort ett kalkylblad från en Excelfil med dess kalkylbladsnamn
  5. Ta bort ett kalkylblad från en Excelfil med dess kalkylbladsindex

Aspose.Cells tillhandahåller en klass, Workbook som representerar en Excelfil. Workbook-klassen innehåller en WorksheetCollection som tillåter åtkomst till varje kalkylblad i Excelfilen.

Ett kalkylblad representeras av Worksheet-klassen. Worksheet-klassen tillhandahåller ett brett utbud av egenskaper och metoder för att hantera ett kalkylblad. Låt oss se hur vi kan använda dessa grundläggande uppsättning APIer.

Lägga till kalkylblad i en ny Excelfil

För att skapa en ny Excelfil programmatiskt måste utvecklare skapa ett objekt av Workbook-klassen som representerar en Excelfil. Sedan kan utvecklare anropa add-metoden för WorksheetCollection. När vi anropar add-metoden läggs automatiskt ett tomt kalkylblad till Excelfilen, vilket kan refereras genom att skicka det nya tillagda kalkylbladets index till WorksheetCollection. Efter att kalkylbladsreferensen har erhållits kan utvecklare arbeta med sina kalkylblad enligt sina krav. När arbetet är klart på kalkylbladen kan utvecklare spara sin nyligen skapade Excelfil med nya kalkylblad genom att anropa save-metoden för Workbook-klassen.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingWorksheetstoNewExcelFile.class) + "worksheets/";
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
WorksheetCollection worksheets = workbook.getWorksheets();
int sheetIndex = worksheets.add();
Worksheet worksheet = worksheets.get(sheetIndex);
// Setting the name of the newly added worksheet
worksheet.setName("My Worksheet");
// Saving the Excel file
workbook.save(dataDir + "AWToNewExcelFile_out.xls");
// Print Message
System.out.println("Sheet added successfully.");

Lägga till kalkylblad i ett designerkalkylblad

Processen för att lägga till kalkylblad i ett designerkalkylblad är helt samma som ovanstående tillvägagångssätt förutom att Excelfilen redan är skapad och vi behöver öppna den Excelfilen först innan vi lägger till ett kalkylblad i den. Ett designerkalkylblad kan öppnas genom att skicka sökvägen eller strömmen när Workbook-klassen initialiseras.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AddingWorksheetstoDesignerSpreadsheet.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Adding a new worksheet to the Workbook object
WorksheetCollection worksheets = workbook.getWorksheets();
int sheetIndex = worksheets.add();
Worksheet worksheet = worksheets.get(sheetIndex);
// Setting the name of the newly added worksheet
worksheet.setName("My Worksheet");
// Saving the Excel file
workbook.save(dataDir + "AWToDesignerSpreadsheet_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet added successfully.");

Tillgång till kalkylblad med hjälp av kalkylbladsnamn

Utvecklare kan nå eller hämta ett kalkylblad genom att ange dess namn eller index.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(AccessingWorksheetsusingSheetName.class) + "worksheets/";
String filePath = dataDir + "book1.xlsx";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(filePath);
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Accessing a worksheet using its sheet name
Worksheet worksheet = workbook.getWorksheets().get("Sheet1");
Cell cell = worksheet.getCells().get(0, 0);
// Print Message
System.out.println(cell.getValue());

Ta bort kalkylblad med hjälp av kalkylbladsnamn

Ibland kan utvecklare behöva ta bort kalkylblad från befintliga Excelfiler och den uppgiften kan utföras genom att anropa removeAt-metoden för WorksheetCollection-samlingen. Vi kan skicka kalkylbladsnamnet till removeAt-metoden för att ta bort ett specifikt kalkylblad.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(RemovingWorksheetsusingSheetName.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet name
workbook.getWorksheets().removeAt("Sheet1");
// Saving the Excel file
workbook.save(dataDir + "RemovingWorksheetsusingSheetName_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet removed successfully.");

Ta bort kalkylblad med hjälp av kalkylbladsindex

Det ovanstående tillvägagångssättet för att ta bort kalkylblad fungerar bra om utvecklare redan känner till kalkylbladsnamnen för kalkylbladen som ska tas bort. Men hur gör man om man inte vet kalkylbladsnamnet på kalkylbladet som du vill ta bort från din Excelfil?

Ja, under sådana omständigheter kan utvecklare använda en överbelastad version av removeAt-metoden som tar kalkylbladets index istället för dess kalkylbladsnamn.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(RemovingWorksheetsusingSheetIndex.class) + "worksheets/";
// Creating a file stream containing the Excel file to be opened
FileInputStream fstream = new FileInputStream(dataDir + "book.xls");
// Instantiating a Workbook object with the stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet index
workbook.getWorksheets().removeAt(0);
// Saving the Excel file
workbook.save(dataDir + "RWUsingSheetIndex_out.xls");
// Closing the file stream to free all resources
fstream.close();
// Print Message
System.out.println("Sheet removed successfully.");

Fortsatta ämnen