Java Apache POI FINE_DOTS cannot be parsed or is not a field

Java Apache POI FINE_DOTS cannot be parsed or is not a field … here is a solution to the problem.

Java Apache POI FINE_DOTS cannot be parsed or is not a field

I’m trying to reproduce some sample code with the following example to generate .xmlx cells with shadows: http://thinktibits.blogspot.com/2012/12/excel-cell-fill-color-java-poi-example.html

Eclipse gives me the error “FINE_DOTS cannot be parsed or is not a field”.

I

don’t understand why it doesn’t like this because I found a lot of examples involving “XSSFCellStyle.FINE_DOTS”.

    import java.io.*;
    import java.sql.*;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.*;

import org.apache.poi.hssf.usermodel.*;
    import org.apache.poi.ss.usermodel.*;
    import org.apache.poi.xssf.usermodel.*;
    import org.apache.poi.xssf.usermodel.XSSFCellStyle;

public class WriteXLSX {

public WriteXLSX() throws FileNotFoundException, IOException, ParseException {
            /* Create Workbook and Worksheet XLSX Format */
            XSSFWorkbook my_workbook = new XSSFWorkbook();
            XSSFSheet my_sheet = my_workbook.createSheet("Cell Font");
            /* Get access to XSSFCellStyle */
            XSSFCellStyle my_style = my_workbook.createCellStyle();

/* We will now specify a background cell color */
             my_style.setFillPattern(XSSFCellStyle.FINE_DOTS );
             my_style.setFillForegroundColor(IndexedColors.BLUE.getIndex());
             my_style.setFillBackgroundColor(IndexedColors.RED.getIndex());

/* Create a row in the sheet */
            Row row = my_sheet.createRow(0);
            /* Create a cell */
            Cell cell = row.createCell(0);
            cell.setCellValue("Cell Fill Color Test");
            /* Attach the style to the cell */
            cell.setCellStyle(my_style);
            /* Write changes to the workbook */
            FileOutputStream out = new FileOutputStream(new File("cell_fill_color.xlsx"));
            my_workbook.write(out);
            out.close();

}

}

Solution

Use FillPatternType.

Try this :

my_style.setFillPattern(FillPatternType.FINE_DOTS );

Related Problems and Solutions