Apache POI - Czcionki
W tym rozdziale wyjaśniono, jak ustawić różne czcionki, stosować style i wyświetlać tekst pod różnymi kątami w arkuszu kalkulacyjnym programu Excel.
Każdy system jest dostarczany z ogromną kolekcją czcionek, takich jak Arial, Impact, Times New Roman itp. W razie potrzeby kolekcję można również zaktualizować o nowe czcionki. Podobnie istnieją różne style, w których można wyświetlać czcionkę, na przykład pogrubienie, kursywa, podkreślenie, przekreślenie itp.
Czcionki i style czcionek
Poniższy kod służy do zastosowania określonej czcionki i stylu do zawartości komórki.
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");
}
}
Zapiszmy powyższy kod w pliku o nazwie FontStyle.java. Skompiluj i uruchom go z wiersza polecenia w następujący sposób.
$javac FontStyle.java
$java FontStyle
Generuje plik Excel o nazwie fontstyle.xlsx w bieżącym katalogu i wyświetl następujące dane wyjściowe w wierszu polecenia.
fontstyle.xlsx written successfully
Plik fontstyle.xlsx plik wygląda następująco.

Kierunek tekstu
Tutaj możesz dowiedzieć się, jak ustawić kierunek tekstu pod różnymi kątami. Zwykle zawartość komórki jest wyświetlana poziomo, od lewej do prawej i pod kątem 00; jednak w razie potrzeby możesz użyć następującego kodu, aby obrócić kierunek tekstu.
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");
}
}
Zachowaj powyższy kod w formacie TextDirectin.java plik, a następnie skompiluj go i uruchom z wiersza polecenia w następujący sposób.
$javac TextDirection.java
$java TextDirection
Skompiluje się i uruchomi, aby wygenerować plik Excel o nazwie textdirection.xlsx w bieżącym katalogu i wyświetl następujące dane wyjściowe w wierszu polecenia.
textdirection.xlsx written successfully
Plik textdirection.xlsx plik wygląda następująco.
