Tôi đang sử dụng POI để tạo bảng tính Excel bằng Java. Tôi có mã sau được sử dụng để tạo hàng tiêu đề:Đặt màu nền trước cho HSSFCellStyle luôn xuất hiện màu đen
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Report");
// some more code
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(cellNumber);
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setColor(HSSFColor.WHITE.index);
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
Vấn đề tôi đang gặp là việc đặt màu nền trên ô luôn luôn xuất hiện màu đen, bất kể màu nào tôi chọn. Tôi đang làm gì sai? Nếu tôi không sử dụng dòng "setFillPattern", không có màu nào hiển thị.
Ahh, tôi hiểu rồi. Tôi cần thay đổi màu nền trước để thay đổi màu nền - thiên tài! – Pakman
Đã lưu nhiều giờ tuyệt vọng, ¿có ai biết tại sao điều này hoạt động theo cách này không? – CGK
Tôi nghĩ rằng các tế bào được vẽ với một mô hình bao gồm tiền cảnh và nền pixel. Nếu bạn sử dụng SOLID_FOREGROUND, chỉ có điểm ảnh tiền cảnh có thể nhìn thấy được. Màu này khác với màu được sử dụng để hiển thị văn bản, được đặt bằng phông chữ. – Axel