public static void createCSVFile(List<String> basicInfo, List exportData0,List exportData,List subEventExportData, LinkedHashMap rowMapper,LinkedHashMap subEventMap, String outPutPath, String filename, HttpServletResponse response) {
try {
OutputStream os = response.getOutputStream();// 取得输出流
response.reset();// 清空输出流
response.setHeader("Content-disposition", "attachment; filename=event.csv");// 设定输出文件头
response.setContentType("application/msexcel");// 定义输出类型
WritableWorkbook wbook = Workbook.createWorkbook(os);
String tmptitle = "活动信息表"; // 标题
WritableSheet wsheet = wbook.createSheet(tmptitle, 0); // sheet名称
wsheet.setColumnView(0, 30);// 设置第0列宽度,
wsheet.setColumnView(1, 35);
wsheet.setColumnView(2, 30);
wsheet.setColumnView(3, 30);
wsheet.setColumnView(4, 30);
wsheet.setColumnView(5, 30);
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat wcfFC = new WritableCellFormat(wfont);
wcfFC.setBackground(Colour.AQUA);
wsheet.addCell(new Label(1, 0, tmptitle, wcfFC));
wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
wcfFC = new WritableCellFormat(wfont);
int rowCnt = 2;
int columnCnt = 0;
for (int idx = 0; idx < basicInfo.size(); idx++) {
String str= basicInfo.get(idx);
if(str!=null){
str=str.replace("null", Constants.EMPTY);
}
wsheet.addCell(new Label(columnCnt, rowCnt, str));
rowCnt++;
}
//生成子活动内容
columnCnt = 0;
for (Iterator propertyIterator = subEventMap.entrySet().iterator(); propertyIterator.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();
String value=Constants.EMPTY;
if(propertyEntry.getValue()!=null){
value=propertyEntry.getValue().toString();
}
wsheet.addCell(new Label(columnCnt, rowCnt,value));
columnCnt++;
}
rowCnt++;
columnCnt = 0;
for (Iterator iterator = subEventExportData.iterator(); iterator.hasNext();) {
Map row = (Map) iterator.next();
for (Iterator propertyIterator = row.entrySet().iterator(); propertyIterator.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();
String value=Constants.EMPTY;
if(propertyEntry.getValue()!=null){
value=propertyEntry.getValue().toString();
}
wsheet.addCell(new Label(columnCnt, rowCnt,value));
columnCnt++;
}
rowCnt++;
columnCnt = 0;
}
rowCnt++;
// 开始生成主体内容
columnCnt = 0;
for (Iterator propertyIterator = rowMapper.entrySet().iterator(); propertyIterator.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();
String value=Constants.EMPTY;
if(propertyEntry.getValue()!=null){
value=propertyEntry.getValue().toString();
}
wsheet.addCell(new Label(columnCnt, rowCnt,value));
columnCnt++;
}
rowCnt++;
// 参与信息 写入文件内容0
columnCnt = 0;
for (Iterator iterator = exportData0.iterator(); iterator.hasNext();) {
Map row = (Map) iterator.next();
for (Iterator propertyIterator = row.entrySet().iterator(); propertyIterator.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();
String value=Constants.EMPTY;
if(propertyEntry.getValue()!=null){
value=propertyEntry.getValue().toString();
}
wsheet.addCell(new Label(columnCnt, rowCnt,value));
columnCnt++;
}
rowCnt++;
columnCnt = 0;
}
rowCnt++;
// 开始生成主体内容
columnCnt = 0;
for (Iterator propertyIterator = rowMapper.entrySet().iterator(); propertyIterator.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();
String value=Constants.EMPTY;
if(propertyEntry.getValue()!=null){
value=propertyEntry.getValue().toString();
}
wsheet.addCell(new Label(columnCnt, rowCnt,value));
columnCnt++;
}
rowCnt++;
// 参与信息 写入文件内容1
columnCnt = 0;
for (Iterator iterator = exportData.iterator(); iterator.hasNext();) {
Map row = (Map) iterator.next();
for (Iterator propertyIterator = row.entrySet().iterator(); propertyIterator.hasNext();) {
java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next();
String value=Constants.EMPTY;
if(propertyEntry.getValue()!=null){
value=propertyEntry.getValue().toString();
}
wsheet.addCell(new Label(columnCnt, rowCnt,value));
columnCnt++;
}
rowCnt++;
columnCnt = 0;
}
wbook.write(); // 写入文件
wbook.close();
os.close(); // 关闭流
} catch (Exception e) {
e.printStackTrace();
}
}
jxl
最新推荐文章于 2024-07-06 13:51:47 发布