Tôi đang làm việc với tệp apache poi và XLSX. tôi sử dụng các lớp xssf để tự động tạo một bảng tính. tôi muốn thiết lập phong cách di động trong một vòng lặp for, nhưng nó dường như không làm việc ... đây là mã của tôi:đặt kiểu ô không hoạt động
for(int i=1;i<=gc.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);i++,gc.add(GregorianCalendar.DATE, 1),righe++){
Row r = foglio.createRow(righe);
if(getDayOfWeek(gc)== 6 || getDayOfWeek(gc) == 7){
XSSFCellStyle cs1 = wb.createCellStyle();
cs1.setFillBackgroundColor(IndexedColors.YELLOW.getIndex());
cs1.setFillPattern(CellStyle.SOLID_FOREGROUND);
XSSFFont f = wb.createFont();
f.setBold(true);
f.setColor(IndexedColors.RED.getIndex());
cs1.setFont(f);
Cell c1 = r.createCell(0);
c1.setCellValue(cost.getGiorni().get(getDayOfWeek(gc)-1).getNomeGiorno());
c1.setCellStyle(cs1);
Cell c2 = r.createCell(1);
c2.setCellValue(i);
c2.setCellStyle(cs1);
}
r.createCell(0).setCellValue(cost.getGiorni().get(getDayOfWeek(gc)-1).getNomeGiorno());
r.createCell(1).setCellValue(i);
... này tôi chỉ là một phần của mã ... tôi không thể hiểu tại sao không hoạt động. Dường như kiểu di động bị bỏ qua hoặc bị ghi đè ....
bất kỳ đầu mối nào?
Tôi đã thử phương pháp của bạn nhưng không giải quyết bất cứ điều gì ... tôi cũng đã nghĩ về việc tạo tệp mô hình .xlsx nhưng tôi đang tạo bảng tính động 100% dựa trên một số tiêu chí do người dùng xác định khi chạy ... – Medioman92
Hơn nữa nếu tôi sử dụng lớp "IndexedColor" để thiết lập nền, nó luôn luôn kết quả đen – Medioman92
Xem lời khuyên của tôi ở dưới cùng của câu trả lời - tạo nó như bạn muốn trong excel, đọc lại từ POI, và làm việc ra những gì tùy chọn cần thiết lập để làm cho phong cách trông giống như bạn muốn – Gagravarr