Java如何將字型應用於單元格的內容?

2019-10-16 22:27:44

在Java程式設計中,如何將不同樣式應用於Excel中的單元格?

注意:需要存取網址:http://poi.apache.org/download.html , 下載一個Apache POI軟體包。這裡下載最新版本:poi-bin-3.17-20170915.tar.gz解壓並將全部.jar檔案匯入 。

需要匯入全部包,如下圖所示 -

參考範例:

http://poi.apache.org/spreadsheet/quick-guide.html

以下是使用Java將不同樣式應用於Excel中的單元格的程式。

package com.yiibai;

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 DifferentFontsToCell {
    public static void main(String[] args) throws Exception {

        // Create a Work Book
        XSSFWorkbook workbook = new XSSFWorkbook();

        // Create a Spread Sheet
        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("文字樣式~");
        cell.setCellStyle(style);

        FileOutputStream out = new FileOutputStream(new File("fontstyle.xlsx"));
        workbook.write(out);
        out.close();

        System.out.println("fontstyle.xlsx written successfully");
    }
}

執行上面範例程式碼,得到以下結果 -

fontstyle.xlsx written successfully

建立的Excel檔案內容,如下所示 -