Rad s upravljanjem preglednikom
Rad s upravljanjem preglednikom
Ovaj vodič pokazuje kako stvoriti, učitati, mijenjati i pohraniti Excel radne sveske pomoću Aspose.Cells FOSS za Java. Naučit ćete raditi s programom Workbook, WorksheetCollection, Worksheet, Cells, i Cell U tom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) Uredbe (EU) br. 575/2013:.
Stvaranje novog radnog spiska
Koristite konstruktor bez argumenata za kreiranje praznog radnog papira. Jedan prazan radni list imenovanog Sheet1 se automatski dodaje.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
System.out.println("Sheet name: " + sheet.getName()); // Sheet1Upisivanje radne sveske iz datoteke
Predajte put za datoteku na Workbook(fileName) Konstruktor otvoriti postojeći .xlsx ili: .ods - Koristite datoteku. Workbook(fileName, options) za snabdijevanje LoadOptions Kada ti je potrebno. za kontrolu otkrivanja formata ili obrade lozinke.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.LoadOptions;
// Simple load
Workbook workbook = new Workbook("data/report.xlsx");
// Load with explicit options
LoadOptions opts = new LoadOptions();
Workbook workbookWithOpts = new Workbook("data/report.xlsx", opts);Upisivanje radne sveske iz toka
Workbook(stream) i u članku 1. Workbook(stream, options) prihvatiti bilo koji java.io.InputStream. Ovo je korisno kada datoteka dolazi iz mrežnog resursa, baze podataka BLOB ili u memoriji bajtni niz.
import com.aspose.cells.foss.Workbook;
import java.io.FileInputStream;
import java.io.InputStream;
try (InputStream is = new FileInputStream("data/template.xlsx")) {
Workbook workbook = new Workbook(is);
System.out.println("Worksheets: " + workbook.getWorksheets().getCount());
}Pristup radnim listovima i upravljanje njima
Workbook.getWorksheets() vraća a WorksheetCollection.Pronađite listove po indeksu ili po imenu, ponoviti na svim listovima i dodati ili ukloniti liste prema potrebi.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
// Access by index
Worksheet first = sheets.get(0);
System.out.println(first.getName()); // Sheet1
// Add a named sheet
int idx = sheets.add("Summary");
Worksheet summary = sheets.get(idx);
summary.setName("Summary");
// Iterate all sheets
for (Worksheet ws : sheets) {
System.out.println("Sheet: " + ws.getName());
}
// Remove a sheet by name
sheets.removeAt("Sheet1");
System.out.println("Remaining sheets: " + sheets.getCount());Čitanje i pisanje vrijednosti stanica
Navigacija do ćelije pomoću: Worksheet.getCells(), što vraća: Cells -Skupljenje. Pronaći Cell U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) Uredbe (EU) br. "A1"U ovom slučaju, u skladu s člankom 77. stavku 1. točka (a) Uredbe (EU) br. putValue() da napiše primitivne vrijednosti i getValue() / getStringValue() čitati -Vrati ih.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Worksheet;
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
Cells cells = sheet.getCells();
// Write values
cells.get("A1").putValue("Product");
cells.get("B1").putValue("Units Sold");
// Write by row/column index (0-based)
Cell a2 = cells.get(1, 0);
a2.putValue("Widget A");
Cell b2 = cells.get(1, 1);
b2.putValue(1200);
// Read back
System.out.println(a2.getStringValue()); // Widget A
System.out.println(b2.getValue()); // 1200Postavljanje formula stanica
Predajte niz formula u ćeliju putem: setFormula(). Aspose.Cells procjenjuje formule Ako je to moguće, mora se provesti proces ispitivanja.
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Cells cells = sheets.get(0).getCells();
cells.get("A1").putValue(100);
cells.get("A2").putValue(200);
Cell a3 = cells.get("A3");
a3.setFormula("=SUM(A1:A2)");
System.out.println("Formula: " + a3.getFormula()); // =SUM(A1:A2)Čuvanje radnog spisa
Upotreba: Workbook.save(fileName) Izlazni format je: određeno proširenjem datoteke; korištenje .xlsx za Excelove radne svrhe.
import com.aspose.cells.foss.Workbook;
Workbook workbook = new Workbook();
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello");
// Save to file -- format inferred from .xlsx extension
workbook.save("output/result.xlsx");Oslobađanje resursa
Workbook uređaji za rušenje AutoCloseable.Koristite blok za ispitivanje resursa kako biste osigurali da se u skladu s člankom 1. stavkom 2. točka (a) i 3. stavku . U tom slučaju, u skladu s člankom 3. stavkom 1. točka (a) Uredbe (EU) br.
import com.aspose.cells.foss.Workbook;
try (Workbook workbook = new Workbook("data/large.xlsx")) {
workbook.save("output/large_modified.xlsx");
}
// workbook.close() called automaticallySavjeti i najbolje prakse
- Uvijek koristite probne resurse (
try (Workbook wb = new Workbook(...))) za velike količine datoteke kako bi se izbjeglo držanje rukovodećih datotek otvorenih. - Prefer
cells.get(row, column)prelaziticells.get(cellName)u vrućim petama; Preopterećenje sa cijelim brojem sprečava ponavljanje analize imena ćelija. - Zovi me.
workbook.getWorksheets().getCount()prije pristupa listovima po indeksu kako bi se izbjegloIndexOutOfBoundsException. - Nazivite svoje listove izričito s:
setName()nakonadd()Tako da kod u daljnjem smjeru može Tražite ih po imenu, a ne prema krhkom indeksu. - Ne oslanjajte se na rezultate formula odmah nakon primjene.
setFormula(); prije ili poslije; Ponovno učitati ako trebate izračunati vrijednosti u istoj sesiji.
Zajednički problemi
| Izdavanje | Uzrok | Popraviti |
|---|---|---|
WorkbookLoadException na: new Workbook(fileName) | Neispravna putanja datoteke ili zaključana datotekama | Provjerite da put postoji i da je čitljiv; zatvoriti druge aplikacije koje sadrže datoteku |
get(index) Baci IndexOutOfBoundsException | Indeks lista nakon getCount() - 1 | Čekaj. sheets.getCount() prije pristupa; upotrebu add() za kreiranje novog lista |
Formula vraća prazna ćelija getValue() | Slika koja se ne izračunava automatski u memoriji | Spasite radnu svesku i ponovno je učitati kako biste dobili rezultate formula. |
Izlaz datoteka je pokvarena nakon save() | Neispravno proširenje datoteke | Završite s: .xlsx; format je zaključen iz proširenja |
FAQ
Kako preimenovati radni list?
-Primite… Worksheet predmet po indeksu od WorksheetCollection i pozovi. setName(name) s novim prikaznim imenom:
workbook.getWorksheets().get(0).setName("Sales Data");Kako provjeriti koliko stranica radionica ima?
Zovi me. getCount() na dnevnom redu WorksheetCollection vraćeno od strane: Workbook.getWorksheets() U ovom slučaju, u skladu s člankom 72. stavkom 1. točka (a) Uredbe (EU) br. 1071/2013:
int count = workbook.getWorksheets().getCount();Mogu li dodati više listova u jednom pozivu?
Ne, nazovi. worksheets.add(sheetName) U svakom od tih slučajeva, naziv se može koristiti samo jednom po listu. novog kreiranog lista.
Kako provjeriti vrstu vrijednosti ćelije?
-Primite… Cell po imenu i pozivu getType(), što vraća: CellValueType vrijednost:
Cell cell = cells.get("A1");
System.out.println(cell.getType()); // CellValueType enum valueSvrha referentnog API-a
| Klasa / metoda | Opisivanje |
|---|---|
Workbook() | Stvara prazan radni svitak s jednim praznim listom |
Workbook(fileName) | Upita radnu svesku s puta datoteke |
Workbook(stream) | Uplatlja radnu svesku iz InputStream |
Workbook(fileName, options) | Uplatlja radnu svesku s: LoadOptions |
Workbook.getWorksheets() | Vrati se: WorksheetCollection |
Workbook.save(fileName) | Spasiti u datoteku (format zaključen iz proširenja) |
Workbook.save(stream, format) | Sačuva na struju s eksplicitnim SaveFormat |
WorksheetCollection.get(index) | Iznos od 0 do 100 EUR/m2 |
WorksheetCollection.get(name) | Iznos podataka po imenu |
WorksheetCollection.add(sheetName) | Dodaje imenovani list; vraća svoj indeks |
WorksheetCollection.getCount() | Broj stranica u radnom svesku |
WorksheetCollection.removeAt(sheetName) | Uklanja list po imenu |
Worksheet.getCells() | Vrati se: Cells Slika za ovaj list |
Worksheet.getName() / setName() | Dobija ili postavlja ime kartice za list |
Cells.get(cellName) | Vrati a. Cell U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) Uredbe (EU) br. 575/2013. |
Cells.get(row, column) | Vrati a. Cell U skladu s člankom 21. stavkom 1. točkom (a) i članom 15. stavku 2. točkama 3. i 4. |
Cell.putValue(value) | Uloži vrijednost u ćeliju. |
Cell.getValue() | Čita vrijednost ćelije kao: Object |
Cell.getStringValue() | Čita vrijednost ćelije kao: String |
Cell.setFormula(formula) | Uređuje niz formula (npr. “=SUM(A1:A2)”) |
LoadOptions | Svrha za upotrebu: |
SaveFormat | Broj konstanti formata (format je zaključen iz proširenja datoteke; nije proslijeđen na save()) |