19 Haziran 2018 Salı

POI Excel İçin XSSFWorkbook Sınıfı

Giriş
Bu sınıfı kullanmak için şu satır dahil edilir.
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
POI ile kullanıbilecek 3 tane programlama modeli var.

1.User API (XSSF)
2.Streaming User API (SXSSF)
3. Event API (XSSF with SAX)

XSS API daha çok bellek tüketir. SXSSF API streaming ile çalışır. Daha az bellek tüketir. Event API ise XSSFReader sınıfı etrafında toplanmıştır.

Eğer okunacak belge çok büyük ise SXSSFWorkbook sınıfı terchi edilmeli.  XLSX aslında bir zip dosyasıdır.

constructor - Default
Genelde yeni bir workbook kaydetmek için kullanılır.
XSSFWorkbook wb = new XSSFWorkbook();
constructor - File
Okumak için şöyle yaparız.
Workbook wb = WorkbookFactory.create(new File("input.xls"));
constructor - path
Okumak için şöyle yaparız.
Workbook workbook = WorkbookFactory.create(new FileInputStream(filePath));
constructor - Input Stream
Okumak için şöyle yaparız
// Open workbook
Path path = Paths.get("....xlsx");
InputStream is = Files.newInputStream(path);
XSSFWorkbook wb = new XSSFWorkbook(is);
close metodu
Şöyle yaparız
wb.close();
createCellStyle metodu
Şöyle yaparız.
XSSFCellStyle headStyle = wb.createCellStyle();
createFont metodu
Şöyle yaparız.
XSSFFont headerFont = wb.createFont();
createSheet metodu
Şöyle yaparız.
XSSFSheet sheet = wb.createSheet("Report");
getSheetAt metodu
XSSFSheet nesnesi döndürür. Şöyle yaparız
XSSFSheet sheet = wb.getSheetAt (0);
write metodu
Dosyaya veya ByteArrayOutputStream sınıflarına yazdırabiliriz. Dosyaya yazdırmak için şöyle yaparız.
Path path = Paths.get("....xlsx");
OutputStream os = Files.newOutputStream(path);
wb.write(os);
os.close();
wb.close();
Şöyle de yapabiliriz.
FileOutputStream out = new FileOutputStream(new File(xlsxFilePath));
wb.write(out);
Named Range metodları
getNumberOfNames metodu
Örnek ver
getName metodu
Şöyle yaparız.
Workbook wb = WorkbookFactory.create(new File("input.xls"));
Name name = wb.getName("TestRange");

System.out.println("Named Range '" + name.getNameName() + 
                   "' points to " + name.getRefersToFormula());
Çıktı olarak şunu alırız.
Named Range 'TesRange' points to Sheet1!$A$1:$C$5
getNameAt metodu
Örnek ver
createName metodu
Örnek ver

Hiç yorum yok:

Yorum Gönder