Apache POI - Yazı Tipleri

Bu bölüm, farklı yazı tiplerinin nasıl ayarlanacağını, stillerin nasıl uygulanacağını ve bir Excel çalışma tablosunda metnin farklı yön açılarında nasıl görüntüleneceğini açıklar.

Her sistem, Arial, Impact, Times New Roman, vb. Gibi geniş bir yazı tipi koleksiyonuyla birlikte gelir. Koleksiyon, gerekirse yeni yazı tipleriyle de güncellenebilir. Benzer şekilde, bir yazı tipinin görüntülenebileceği çeşitli stiller vardır, örneğin, kalın, italik, altı çizili, üstü çizili vb.

Yazı Tipleri ve Yazı Tipi Stilleri

Aşağıdaki kod, bir hücrenin içeriğine belirli bir yazı tipi ve stil uygulamak için kullanılır.

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class FontStyle {
   public static void main(String[] args)throws Exception {
      XSSFWorkbook workbook = new XSSFWorkbook(); 
      XSSFSheet spreadsheet = workbook.createSheet("Fontstyle");
      XSSFRow row = spreadsheet.createRow(2);

      //Create a new font and alter it.
      XSSFFont font = workbook.createFont();
      font.setFontHeightInPoints((short) 30);
      font.setFontName("IMPACT");
      font.setItalic(true);
      font.setColor(HSSFColor.BRIGHT_GREEN.index);

      //Set font into style
      XSSFCellStyle style = workbook.createCellStyle();
      style.setFont(font);

      // Create a cell with a value and set style to it.
      XSSFCell cell = row.createCell(1);
      cell.setCellValue("Font Style");
      cell.setCellStyle(style);
      
      FileOutputStream out = new FileOutputStream(new File("fontstyle.xlsx"));
      workbook.write(out);
      out.close();
      System.out.println("fontstyle.xlsx written successfully");
   }
}

Yukarıdaki kodu isimli bir dosyaya kaydedelim FontStyle.java. Aşağıdaki gibi komut isteminden derleyin ve çalıştırın.

$javac FontStyle.java
$java FontStyle

Adında bir Excel dosyası oluşturur fontstyle.xlsx mevcut dizininizde ve komut isteminde aşağıdaki çıktıyı görüntüleyin.

fontstyle.xlsx written successfully

fontstyle.xlsx dosya aşağıdaki gibi görünür.

Metin yönü

Burada metin yönünü farklı açılarda nasıl ayarlayacağınızı öğrenebilirsiniz. Genellikle hücre içerikleri yatay olarak, soldan sağa ve 00 açısında görüntülenir; ancak gerekirse metin yönünü döndürmek için aşağıdaki kodu kullanabilirsiniz.

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class TextDirection {
   public static void main(String[] args)throws Exception {
      XSSFWorkbook workbook = new XSSFWorkbook(); 
      XSSFSheet spreadsheet = workbook.createSheet("Text direction");
      XSSFRow row = spreadsheet.createRow(2);
      XSSFCellStyle myStyle = workbook.createCellStyle();
      myStyle.setRotation((short) 0);
      XSSFCell cell = row.createCell(1);
      cell.setCellValue("0D angle");
      cell.setCellStyle(myStyle);

      //30 degrees
      myStyle = workbook.createCellStyle();
      myStyle.setRotation((short) 30);
      cell = row.createCell(3);
      cell.setCellValue("30D angle");
      cell.setCellStyle(myStyle);

      //90 degrees
      myStyle = workbook.createCellStyle();
      myStyle.setRotation((short) 90);
      cell = row.createCell(5);
      cell.setCellValue("90D angle");
      cell.setCellStyle(myStyle);

      //120 degrees
      myStyle = workbook.createCellStyle();
      myStyle.setRotation((short) 120);
      cell = row.createCell(7);
      cell.setCellValue("120D angle");
      cell.setCellStyle(myStyle);

      //270 degrees
      myStyle = workbook.createCellStyle();
      myStyle.setRotation((short) 270);
      cell = row.createCell(9);
      cell.setCellValue("270D angle");
      cell.setCellStyle(myStyle);

      //360 degrees
      myStyle = workbook.createCellStyle();
      myStyle.setRotation((short) 360);
      cell = row.createCell(12);
      cell.setCellValue("360D angle");
      cell.setCellStyle(myStyle);
      
      FileOutputStream out = new FileOutputStream(new File("textdirection.xlsx"));
      workbook.write(out);
      out.close();
      System.out.println("textdirection.xlsx written successfully");
   }
}

Yukarıdaki kodu saklayın TextDirectin.java dosya, ardından aşağıdaki gibi komut isteminden derleyin ve çalıştırın.

$javac TextDirection.java
$java TextDirection

Adlı bir Excel dosyası oluşturmak için derlenecek ve çalıştırılacaktır. textdirection.xlsx mevcut dizininizde ve komut isteminde aşağıdaki çıktıyı görüntüleyin.

textdirection.xlsx written successfully

textdirection.xlsx dosya aşağıdaki gibi görünür.