我对在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 ='是文件的标题,循环中的所有get都将信息放入Excel文件中。 我只是不知道如何插入颜色。
有什么想法吗?
答案 0 :(得分:0)
要从Java进行更高级的Excel工作表修改,您可能必须使用JXL, the 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
。因此,您应该可以在Web服务中使用它。