Apache POI - Schriftarten
In diesem Kapitel wird erläutert, wie Sie verschiedene Schriftarten festlegen, Stile anwenden und Text in verschiedenen Richtungswinkeln in einer Excel-Tabelle anzeigen.
Jedes System wird mit einer riesigen Sammlung von Schriftarten wie Arial, Impact, Times New Roman usw. geliefert. Die Sammlung kann bei Bedarf auch mit neuen Schriftarten aktualisiert werden. Ebenso gibt es verschiedene Stile, in denen eine Schriftart angezeigt werden kann, z. B. fett, kursiv, unterstrichen, durchgestrichen usw.
Schriftarten und Schriftstile
Der folgende Code wird verwendet, um eine bestimmte Schriftart und einen bestimmten Stil auf den Inhalt einer Zelle anzuwenden.
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");
}
}
Speichern wir den obigen Code in einer Datei mit dem Namen FontStyle.java. Kompilieren Sie es und führen Sie es an der Eingabeaufforderung wie folgt aus.
$javac FontStyle.java
$java FontStyle
Es wird eine Excel-Datei mit dem Namen generiert fontstyle.xlsx in Ihrem aktuellen Verzeichnis und zeigen Sie die folgende Ausgabe an der Eingabeaufforderung an.
fontstyle.xlsx written successfully
Das fontstyle.xlsx Datei sieht wie folgt aus.
Textrichtung
Hier erfahren Sie, wie Sie die Textrichtung in verschiedenen Winkeln einstellen. Normalerweise wird der Zelleninhalt horizontal von links nach rechts und im Winkel 00 angezeigt. Sie können jedoch bei Bedarf den folgenden Code verwenden, um die Textrichtung zu drehen.
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");
}
}
Behalten Sie den obigen Code bei TextDirectin.java Datei, kompilieren Sie sie dann und führen Sie sie an der Eingabeaufforderung wie folgt aus.
$javac TextDirection.java
$java TextDirection
Es wird kompiliert und ausgeführt, um eine Excel-Datei mit dem Namen zu generieren textdirection.xlsx in Ihrem aktuellen Verzeichnis und zeigen Sie die folgende Ausgabe an der Eingabeaufforderung an.
textdirection.xlsx written successfully
Das textdirection.xlsx Datei sieht wie folgt aus.