![](https://products-qa.fileformat.com/tr/spreadsheet/java/apache-poi-xssf/header-image.png)
Apache POI-XSSF
Microsoft® Excel XLSX Dosyaları için Açık Kaynak Java API'si
Java Kitaplığı aracılığıyla Excel XLSX Elektronik Tablolarını Oluşturun, Düzenleyin ve CSV ve HTML dosya biçimlerine dönüştürün.
Apache POI-XSSF nedir?
Apache POI-XSSF, Excel 2007 XLSX dosya biçiminin saf bir Java uygulamasıdır. API, Excel XLSX dosyalarını oluşturmak, okumak, değiştirmek ve yazmak için prosedürler sağlar. Özel ihtiyaçları olanlar için düşük seviyeli yapılar sağlar. Ayrıca verimli salt okunur erişim için bir olay modeli API'sinin yanı sıra XLSX dosyalarını oluşturmak, okumak ve değiştirmek için tam kullanıcı modeli API'si sağlar. Apache POI-XSSF, sayfalarla, formüllerle çalışma, renkleri ve kenarlıkları doldurarak hücre stilleri oluşturma, yazı tiplerini, üstbilgileri ve altbilgileri, şekilleri, veri doğrulamalarını, görüntüleri, köprüleri ve çok daha fazlasını oluşturma gibi ek excel özellikleri için büyük destek sağlar.
Apache POI XSSF'ye Başlarken
Öncelikle sisteminizde Java Development Kit (JDK) kurulu olmalıdır. Zaten sahipseniz, bir arşivdeki en son kararlı sürümü almak için Apache POI'nin indirme sayfasına gidin. ZIP dosyasının içeriğini, gerekli kitaplıkların Java programınıza bağlanabileceği herhangi bir dizine çıkarın. Hepsi bu!
Maven tabanlı Java projenizde Apache POI'ye başvurmak daha da basittir. Tek ihtiyacınız olan, pom.xml dosyanıza aşağıdaki bağımlılığı eklemek ve IDE'nizin Apache POI Jar dosyalarını almasına ve referans vermesine izin vermektir.
Apache POI Maven Bağımlılığı
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
Java API kullanarak Büyük Excel Elektronik Tabloları Oluşturun
Apache POI XSSF, MS Excel dosyalarına büyük veri yazma işlemleri için SXSSF API aracılığıyla düşük bellek ayak izi sunar. Bu, herhangi bir zamanda satırların yalnızca yapılandırılabilir bir kısmı bellekte tutulduğundan, bellek tükenmeden çok büyük dosyaların yazılmasına olanak tanır. POI-SXSSF, kayan bir pencere içindeki satırlara erişimi sınırlayarak düşük bellek ayak izine ulaşırken, XSSF belgedeki tüm satırlara erişim sağlar. Artık pencerede olmayan eski satırlar diske yazıldığı için erişilemez hale gelir. Aşağıdaki adımları kullanarak Java'da büyük bir excel dosyası oluşturabilirsiniz.
Java kullanarak Büyük Excel Dosyası Oluşturun
- Yeni bir SXSSFWorkbook oluşturun ve 100 satırı bellekte tutun, satırları aşan satırlar diske temizlenecektir
- createSheet() yöntemini kullanarak yeni bir çalışma sayfası oluşturun
- İçeride createRow(), createCell() ve setCellValue("Verileriniz") ve iç içe geçmiş bir döngü kullanarak 2000 satır ve 2000 hücreye veri ekleyin
- Dosyayı FileOutputStream() kullanarak kaydedin ve çıktı dosyası adını iletin
- SXSSFWorkbook.Write() yöntemini kullanarak dosyaya yazın ve parametre olarak FileOutputStream iletin
Büyük Bir Excel Dosyası Oluşturun
// create a new SXSSFWorkbook
SXSSFWorkbook wb = new SXSSFWorkbook(100);
Sheet sh = wb.createSheet();
// insert 2000 rows
for(int rownum = 0; rownum < 2000; rownum++){
Row row = sh.createRow(rownum);
// insert data in 20000 cells
for(int cellnum = 0; cellnum < 10; cellnum++){
Cell cell = row.createCell(cellnum);
cell.setCellValue("Row Number: "+ rownum + " Cell Number: "+ cellnum);
}
}
// save file
FileOutputStream out = new FileOutputStream("LargeDcument.xlsx");
wb.write(out);
out.close();
Excel Çalışma Kitabı Oluşturma ve Sayfa Ekleme için Java API'leri
Apache POI XSSF, bilgisayar programcılarının XLSX dosya formatında yeni bir Excel çalışma kitabı oluşturmasını sağlar. Geliştiriciler çalışma kitabını oluşturduktan sonra, Çalışma Kitabının mevcut bir örneğinden çalışma sayfaları oluşturulur ve yeni oluşturulan sayfa çalışma kitabına sırayla otomatik olarak eklenir.
Excel Çalışma Kitabı Oluştur ve Sayfa Ekle
// create a new XLSX file
Workbook workbook = new XSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXlsx.xlsx");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new sheet
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set cell value
cell.setCellValue("File Format Developer Guide");
// save file
workbook.write(outputStream);
Bir Excel Elektronik Tablosunu CSV'ye ve Diğer Dosya Biçimine Dönüştürün
Java Geliştiricileri ve programcıları, Apache POI XSSF API'sini kullanarak bir Excel elektronik tablosunu kolayca bir CSV dosya biçimine dönüştürebilir. CSV, Virgülle Ayrılmış Değerler anlamına gelir ve birçok uygulama arasında veri alışverişi için kullanılan çok yaygın bir biçimdir. İlk olarak, geliştiricilerin Apache POI XSSF API kullanarak giriş XLS dosyasını okuması ve ardından ayıklanan bilgileri CSV dosyalarına yazması gerekir.
XLSX'i CSV'ye dönüştür
// Open and existing XLSX file
FileInputStream fileInStream = new FileInputStream("LargeDocument.xlsx");
XSSFWorkbook workBook = new XSSFWorkbook(fileInStream);
XSSFSheet selSheet = workBook.getSheetAt(0);
// Loop through all the rows
Iterator rowIterator = selSheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
// Loop through all rows and add ","
Iterator cellIterator = row.cellIterator();
StringBuffer stringBuffer = new StringBuffer();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
if (stringBuffer.length() != 0) {
stringBuffer.append(",");
}
stringBuffer.append(cell.getStringCellValue());
}
System.out.println(stringBuffer.toString());
}
workBook.close();
Üst Bilgiler ve Alt Bilgiler için XSSF Geliştirmesi
Apache POI XSSF, İlk sayfa üstbilgilerini ve altbilgilerini ve Çift/Tek üstbilgi ve altbilgilerini işleme yeteneğine sahiptir. Üstbilgiler ve altbilgiler, bir Excel Elektronik Tablosunun çok önemli bir parçasıdır. Genellikle tarihler, sayfa numaraları, yazarın adı ve dipnotlar gibi daha uzun belgeleri organize etmeye ve daha kolay okunmasına yardımcı olan ek bilgiler içerir. Tüm Üstbilgi/Altbilgi Özellik bayrakları XSSF'de işlenebilir. Tek üst bilgi ve alt bilgi, varsayılan üst bilgi ve alt bilgidir. İlk sayfa başlığı veya çift sayfa başlığı göstermeyen tüm sayfalarda görüntülenir.
Excel XLSX Dosyalarında Hücreleri Birleştirme ve Metin Çıkarma
Apache POI XSSF, Java programcılarının bir Excel elektronik tablosu içinde birden çok hücreyi tek bir hücrede birleştirmesine olanak tanıyan yeteneği sağlar. Hücre dizinlerini argüman olarak alan ve hücreleri tek bir büyük hücrede birleştiren yöntemler içeriyor. En zorlu özelliklerden biri, bir XLSX dosyasından metin çıkarma ve onu ihtiyaçlarınıza göre kullanma yeteneğidir. Apache POI, proje tarafından desteklenen tüm dosya formatları için temel metin çıkarımı sağlamıştır. XML ve HTML çıktısının yanı sıra Zengin Metin çıkarma (biçimlendirme ve stil verme gibi) dahil olmak üzere gelişmiş metin çıkarma ihtiyaçları için Apache POI, proje tarafından desteklenen tüm dosya formatları için POI destekli Tika Ayrıştırıcıları sağlamak üzere Apache Tika ile yakın bir şekilde çalışır.