POI Apache - Caratteri
Questo capitolo spiega come impostare diversi tipi di carattere, applicare stili e visualizzare il testo in diverse angolazioni di direzione in un foglio di calcolo Excel.
Ogni sistema viene fornito in bundle con una vasta raccolta di caratteri come Arial, Impact, Times New Roman, ecc. La raccolta può anche essere aggiornata con nuovi caratteri, se necessario. Allo stesso modo ci sono vari stili in cui è possibile visualizzare un carattere, ad esempio grassetto, corsivo, sottolineato, barrato, ecc.
Caratteri e stili di carattere
Il codice seguente viene utilizzato per applicare un tipo di carattere e uno stile particolari al contenuto di una cella.
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");
}
}
Salviamo il codice sopra in un file denominato FontStyle.java. Compilalo ed eseguilo dal prompt dei comandi come segue.
$javac FontStyle.java
$java FontStyle
Genera un file Excel denominato fontstyle.xlsx nella directory corrente e visualizzare il seguente output sul prompt dei comandi.
fontstyle.xlsx written successfully
Il fontstyle.xlsx il file ha il seguente aspetto.
Direzione del testo
Qui puoi imparare come impostare la direzione del testo in diverse angolazioni. Di solito il contenuto delle celle viene visualizzato orizzontalmente, da sinistra a destra e con un'angolazione 00; tuttavia è possibile utilizzare il codice seguente per ruotare la direzione del testo, se necessario.
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");
}
}
Conserva il codice sopra in TextDirectin.java file, quindi compilarlo ed eseguirlo dal prompt dei comandi come segue.
$javac TextDirection.java
$java TextDirection
Verrà compilato ed eseguito per generare un file Excel denominato textdirection.xlsx nella directory corrente e visualizzare il seguente output sul prompt dei comandi.
textdirection.xlsx written successfully
Il textdirection.xlsx il file ha il seguente aspetto.