Добавить цвет в автоматическом создании файла Excel - PullRequest
0 голосов
/ 16 мая 2019

У меня есть вопрос о добавлении цвета в файл Excel. Интересно, возможно ли это сделать с помощью метода ByteArrayOutputStream.

Я ищу, но ничего не нашел.

/**
 * Export des incidents Jira
 * 
 * @return
 * @throws Exception
 */
@GET
@Path("exportJiraIncidents")
@Produces(MediaType.TEXT_PLAIN)
public Response exportJiraIncidents() throws Exception {

    // Get data base data
    final List<IncidentVo> data = 
jiraGroupamaResource.getJiraIncidents();

    // csv export
    final ByteArrayOutputStream outStream = new 
ByteArrayOutputStream();

    String line = "IssueId;Incident;Activité;DateCreation;Statut;"
+"RefIncJira;Intervenant;Titre;Gravité;resolution;" 
+ "updated;duedate;dateResolution;timeOriginalEstimate;timeEstimate;"
+ "timeSpent;workflow_id\r\n";

outStream.write(line.getBytes(Charset.forName("cp1252")));

    for (final IncidentVo vo : data) {

        line = addChampCsv(vo.getIssueId()) + 
addChampCsv(vo.getIncident()) + addChampCsv(vo.getActivite()) + 
addChampCsv(vo.getDateCreation())
                + addChampCsv(vo.getStatut()) + 
addChampCsv(vo.getRefIncJira()) + addChampCsv(vo.getIntervenant()) + 
addChampCsv(vo.getTitre())
                + addChampCsv(vo.getGravite()) + 
addChampCsv(vo.getResolution()) + addChampCsv(vo.getUpdated()) + 
addChampCsv(vo.getDueDate())
                + addChampCsv(vo.getDateResolution()) 
+ addChampCsv(vo.getTimeOriginalEstimate()) + 
addChampCsv(vo.getTimeEstimate())
                + addChampCsv(vo.getTimeSpent()) + 
addChampCsv(vo.getWorkflowId()) + "\r\n";

outStream.write(line.getBytes(Charset.forName("cp1252")));
    }

    return Response.ok(new 
ByteArrayInputStream(outStream.toByteArray())).header(STR_TYPE_HEADER, "attachment; filename=incidents.csv")
            .type(STR_TYPE_CSV).build();
}

'string line =' - заголовок файла, и все, что попадает в цикл, помещает информацию в файл Excel. Я просто не понимаю, как вставить цвет.

Есть идеи?

1 Ответ

0 голосов
/ 16 мая 2019

Для более сложных модификаций листов Excel из Java вам, вероятно, придется использовать JXL, Java Excel API

Там вы можете довольно легко сделать раскраску, например,

Workbook.createWorkbook(outputStream);
workbook.createSheet(sheetName, 0);

WritableCell cell = sheet.getWritableCell(0,0);

WritableCellFormat coloredCellFormat = new WritableCellFormat();

coloredCellFormat.setBackground(Colour.RED);

cell.setCellFormat(newFormat);

workbook.write(); // important to use
workbook.close();

Как вы видите в этом примере, JXL позволяет писать в любой OutputStream. Поэтому вы должны иметь возможность использовать его в своем веб-сервисе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...