当前位置:   article > 正文

java导出excel生成多个sheet_java excel clonesheet 不同excel

java excel clonesheet 不同excel

try {
OutputStream out = new FileOutputStream(“E:\test.xls”);//导出本地
//OutputStream out = response.getOutputStream();//输出客户端
List<List> data1 = new ArrayList<List>();
List<List> data2 = new ArrayList<List>();
List<List> data3 = new ArrayList<List>();
for (int i = 1; i < 5; i++) {
List rowData = new ArrayList();
rowData.add(String.valueOf(i));
rowData.add(“上海东霖柏鸿”);
data1.add(rowData);
}
for (int i = 1; i < 5; i++) {
List rowData = new ArrayList();
rowData.add(String.valueOf(i));
rowData.add(“深圳东霖柏鸿”);
data2.add(rowData);
}
for (int i = 1; i < 5; i++) {
List rowData = new ArrayList();
rowData.add(String.valueOf(i));
rowData.add(“广州东霖柏鸿”);
data3.add(rowData);
}
String[] headers = { “ID”, “用户名” };
ExportExcelUtils eeu = new ExportExcelUtils();
HSSFWorkbook workbook = new HSSFWorkbook();
eeu.exportExcel(workbook, 0, “上海”, headers, data1, out);
eeu.exportExcel(workbook, 1, “深圳”, headers, data2, out);
eeu.exportExcel(workbook, 2, “广州”, headers, data3, out);
//原理就是将所有的数据一起写入,然后再关闭输入流。
workbook.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public class ExportExcelUtils {

/**
 * @Title: exportExcel
 * @Description: 导出Excel的方法
 * @author: liuct @ 2019-01-29 
 * @param workbook 
 * @param sheetNum (sheet的位置,0表示第一个表格中的第一个sheet)
 * @param sheetTitle  (sheet的名称)
 * @param headers    (表格的标题)
 * @param result   (表格的数据)
 * @param out  (输出流)
 * @throws Exception
 */
public void exportExcel(HSSFWorkbook workbook, int sheetNum,
		String sheetTitle, String[] headers, List<List<String>> result,
		OutputStream out) throws Exception {
	// 生成一个表格
	HSSFSheet sheet = workbook.createSheet();
	workbook.setSheetName(sheetNum, sheetTitle);
	// 设置表格默认列宽度为20个字节
	sheet.setDefaultColumnWidth((short) 20);
	// 生成一个样式
	HSSFCellStyle style = workbook.createCellStyle();
	// 设置这些样式
	style.setFillForegroundColor(HSSFColor.PALE_BLUE.index);

	style.setFillBackgroundColor(HSSFColor.WHITE.index);
	style.setFillForegroundColor(HSSFColor.LIGHT_ORANGE.index);

	// 生成一个字体
	HSSFFont font = workbook.createFont();
	font.setColor(HSSFColor.BLACK.index);
	font.setFontHeightInPoints((short) 12);
	// 把字体应用到当前的样式
	style.setFont(font);

	// 指定当单元格内容显示不下时自动换行
	style.setWrapText(true);

	// 产生表格标题行
	HSSFRow row = sheet.createRow(0);
	for (int i = 0; i < headers.length; i++) {
		HSSFCell cell = row.createCell((short) i);
	
		cell.setCellStyle(style);
		HSSFRichTextString text = new HSSFRichTextString(headers[i]);
		cell.setCellValue(text.toString());
	}
	// 遍历集合数据,产生数据行
	if (result != null) {
		int index = 1;
		for (List<String> m : result) {
			row = sheet.createRow(index);
			int cellIndex = 0;
			for (String str : m) {
				HSSFCell cell = row.createCell((short) cellIndex);
				cell.setCellValue(str.toString());
				cellIndex++;
			}
			index++;
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62

}

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号