Java 使用poi设置excel工作表中的样式

Java 使用poi设置excel工作表中的样式,java,apache-poi,Java,Apache Poi,我想将样式添加到我的excel文件中。我想设置行/列宽和行颜色。我不知道如何添加这个。下面是我编写excel文件的代码 workbook = new HSSFWorkbook(); //create a new work sheet sheet = workbook.createSheet("Test Result"); CellStyle style = sheet.getWorkbook().createCellStyle()

我想将样式添加到我的excel文件中。我想设置行/列宽和行颜色。我不知道如何添加这个。下面是我编写excel文件的代码

         workbook = new HSSFWorkbook();
        //create a new work sheet
        sheet = workbook.createSheet("Test Result");
        CellStyle style = sheet.getWorkbook().createCellStyle();
        style.setWrapText(true);

        testresultdata = new LinkedHashMap<String, Object[]>();
        //add test result excel file column header
        //write the header in the first row
        testresultdata.put("1", new Object[]{"Excel First Row", 
        "Excel Second Row", "Excel 3rd Row", "Excel 4th Row"});  //This line i wrote the excel




       Set<String> keyset = testresultdata.keySet();
        int rownum = 0;
        for (String key : keyset) {
            Row row = sheet.createRow(rownum++);
            Object[] objArr = testresultdata.get(key);

            int cellnum = 0;
            for (Object obj : objArr) {
                Cell cell = row.createCell(cellnum++);

                if (obj instanceof Date)
                    cell.setCellValue((Date) obj);
                else if (obj instanceof Boolean)
                    cell.setCellValue((Boolean) obj);
                else if (obj instanceof String)
                    cell.setCellValue((String) obj);
                else if (obj instanceof Double)
                    cell.setCellValue((Double) obj);
            }
        }
workbook=new HSSFWorkbook();
//创建新工作表
sheet=workbook.createSheet(“测试结果”);
CellStyle style=sheet.get工作簿().createCellStyle();
style.setWrapText(true);
testresultdata=新建LinkedHashMap();
//添加测试结果excel文件列标题
//将标题写入第一行
testresultdata.put(“1”,新对象[]{“Excel第一行”,
“Excel第二行”、“Excel第三行”、“Excel第四行”})//这一行是我写的excel
Set keyset=testresultdata.keyset();
int rownum=0;
用于(字符串键:键集){
Row-Row=sheet.createRow(rownum++);
Object[]objArr=testresultdata.get(key);
int-cellnum=0;
用于(对象对象对象:对象对象对象){
Cell Cell=row.createCell(cellnum++);
if(obj实例截止日期)
cell.setCellValue((日期)obj);
else if(obj instanceof Boolean)
cell.setCellValue((布尔)obj);
else if(字符串的obj实例)
cell.setCellValue((字符串)obj);
else if(双精度的obj实例)
cell.setCellValue((双)obj);
}
}
当前excel视图。我想以有组织的方式显示它


单元格缺少设置样式

cell.setCellStyle(cellStyle);

        int cellnum = 0;
        for (Object obj : objArr) {
            Cell cell = row.createCell(cellnum++);
            cell.setCellStyle(cellStyle);
            if (obj instanceof Date)
                cell.setCellValue((Date) obj);
            else if (obj instanceof Boolean)
                cell.setCellValue((Boolean) obj);
            else if (obj instanceof String)
                cell.setCellValue((String) obj);
            else if (obj instanceof Double)
                cell.setCellValue((Double) obj);
        }

谢谢你的回答,但是运气不好。视图还是一样的。你可以添加其他样式,比如背景色来检查样式是否有效吗?setFillForegroundColor(新的HSSFColor(新的java.awt.Color(255244233));style.setFillPattern(HSSFCellStyle.SOLID\u前景);cell.setCellStyle(cellStyle);这里cellStyle给出了错误。我需要在哪里定义cellStyle?