11 Mayıs 2014 Pazar

Apache POI - Excel Font İşlemleri

Apache POI kütüphanesiyle bir Excel dosyasına yazacağınız verinin yazı tipini, rengini, biçimini değiştirmek için HSSFFont(xlsx için XSSFFont) ve HSSFCellStyle(xlsx için XSSFCellStyle) sınıfları kullanılır.

Öncelikle bir HSSFFont nesnesi oluşturulur ve bu sınıfın metotları yardımıyla yazı tipi değiştirilir, yazı biçiminin kalın, italik, altıçizili gibi özellikleri ve metin boyutu belirlenir. Göstermek gerekirse :

     
     //Basliklar icin olusturulacak bicim yapisi icin font nesnesi hazirla
     HSSFFont headerFont = workbook.createFont();
      
     //Yazi stili kalin
     headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
      
     //Yazi rengini belirle
     headerFont.setColor(IndexedColors.BLUE.getIndex());
     
     //Yazi boyutunu belirle
     headerFont.setFontHeightInPoints((short)24);

     //Font Adi
     headerFont.setFontName("Courier New");
            
     //Egik
     headerFont.setItalic(true);
     
     //Alticizili
     headerFont.setUnderline(HSSFFont.U_SINGLE);

Bu şekilde HSSFFont sınıfı yardımıyla font özellikleri belirlenir. Burada sadece belli başlı özellikler verildi. Şimdi oluşturulan bu font nesnesini HSSFCellStyle nesnesi oluşturarak bu nesneye set edelim.

            

     HSSFCellStyle headerStyle = workbook.createCellStyle();
      
     //Hazirladigin Font nesnesini bicime ekle
     headerStyle.setFont(headerFont);
      
     //Basliklari Hazirla
     Row headerRow = sheet.createRow(0);
     Cell name = headerRow.createCell(0);
     name.setCellValue("AD");
      
     Cell lastName = headerRow.createCell(1);
     lastName.setCellValue("SOYAD");
       
     //Olusturulan baslik bicimini hucrelere ekle
     name.setCellStyle(headerStyle);
     lastName.setCellStyle(headerStyle);

Örneğin Tamamı :

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
 
public class HSSFTest {
 
   public static void main(String[] args) {
      
     //Excel Calisma Kitabini Olustur
     HSSFWorkbook workbook = new HSSFWorkbook();
      
     //Excel Sayfasi Olustur
     HSSFSheet sheet = workbook.createSheet("Java4Fun");
     
     //Basliklar icin olusturulacak bicim yapisi icin font nesnesi hazirla
     HSSFFont headerFont = workbook.createFont();
      
     //Yazi stili kalin
     headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
      
     //Yazi rengini belirle
     headerFont.setColor(IndexedColors.BLUE.getIndex());
     
     //Yazi boyutunu belirle
     headerFont.setFontHeightInPoints((short)24);
     
     //Yazı tipini belirle
     headerFont.setFontName("Courier New");
     
     //Egik
     headerFont.setItalic(true);
     
     //Alticizili
     headerFont.setUnderline(HSSFFont.U_SINGLE);
     
     //Hucre bicim nesnesini olustur
     HSSFCellStyle headerStyle = workbook.createCellStyle();
      
     //Hazirladigin Font nesnesini bicime ekle
     headerStyle.setFont(headerFont);
      
     //Basliklari Hazirla
     Row headerRow = sheet.createRow(0);
     
     Cell name = headerRow.createCell(0);
     name.setCellValue("AD");
      
     Cell lastName = headerRow.createCell(1);
     lastName.setCellValue("SOYAD");
      
     //Olusturulan baslik bicimini hucrelere ekle
     name.setCellStyle(headerStyle);
     lastName.setCellStyle(headerStyle);
     
     //Olusturulan Workbook nesnesini dosyaya yaz
     try
     {
          FileOutputStream out = new FileOutputStream(new File("K:\\test.xls"));
          workbook.write(out);
          out.close();
     }
     catch (FileNotFoundException e) {
       e.printStackTrace();
     }
     catch (IOException e) {
          e.printStackTrace();
     }
    
   }
   
}
#YARARLANILAN KAYNAKLAR#
http://poi.apache.org/spreadsheet/quick-guide.html#WorkingWithFonts

0 yorum:

Yorum Gönder

Java4Fun Copyright © 2011 | Template created by O Pregador | Powered by Templates de luxo