您的位置:首页 > 编程语言 > Java开发

Java操作Excel(二)将数据库中的数据导出到Excel中

2012-03-07 17:05 656 查看
public void exportToExcel() {

try {

ArrayList list = this.getSelectedCourseStudentsTableData();

System.out.println("=============size:" + list.size());

if (list != null && list.size() > 0) {

Long tp = new Long(System.currentTimeMillis());

String path = getApplicationBean().getFilePath()

+ "printfiles/" + tp.toString() + ".xls";

String name=path.substring(path.lastIndexOf('/')+1,path.length());

OutputStream outf = new FileOutputStream(path);

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet sheet = wb.createSheet("StudentCource");

sheet.setColumnWidth((short)0,(short)4000); //设置单元格的长度

sheet.setColumnWidth((short)3,(short)4000);

sheet.setColumnWidth((short)5,(short)6000);

sheet.setColumnWidth((short)6,(short)6000);

sheet.setHorizontallyCenter(true);

HSSFRow row1 = sheet.createRow(0);

HSSFCell cell1 = row1.createCell((short) 0);

cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置编码

cell1.setCellValue("学号");

cell1 = row1.createCell((short) 1);

cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置编码

cell1.setCellValue("姓名");

cell1 = row1.createCell((short) 2);

cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置编码

cell1.setCellValue("性别");

cell1 = row1.createCell((short) 3);

cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置编码

cell1.setCellValue("学生类别");

cell1 = row1.createCell((short) 4);

cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置编码

cell1.setCellValue("年级");

cell1 = row1.createCell((short) 5);

cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置编码

cell1.setCellValue("所属学院");

cell1 = row1.createCell((short) 6);

cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置编码

cell1.setCellValue("所学专业");

ArrayList selectedCourseStudentslist = this

.getSelectedCourseStudentsTableData();

for (int i = 0; i < selectedCourseStudentslist.size(); i++) {

HSSFRow row = sheet.createRow(i+1);

PgtStatusInfo pgtStatusInfo = (PgtStatusInfo) selectedCourseStudentslist

.get(i);

HSSFCell cell = row.createCell((short) 0);

cell.setCellValue(pgtStatusInfo.getStudentNo());

cell = row.createCell((short) 1);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(pgtStatusInfo.getName());

cell = row.createCell((short) 2);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(pgtStatusInfo.getSexCn());

cell = row.createCell((short) 3);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(pgtStatusInfo.getPgtTypeCn());

cell = row.createCell((short) 4);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(pgtStatusInfo.getGradeCn());

cell = row.createCell((short) 5);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(pgtStatusInfo.getBelongDeptCn());

cell = row.createCell((short) 6);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(pgtStatusInfo.getSpeCn());

}

wb.write(outf);

outf.close();

this.excelLink ="./files/printfiles/" + name;

this.excelFileLinkVisible = true;

this.outputFileLinkVisible = false;

} else {

getApplicationBean().addMessage(FacesMessage.SEVERITY_INFO,

"导出excel内容为空!", null);

}

} catch (Exception e) {

getApplicationBean().addMessage(FacesMessage.SEVERITY_ERROR,

"导出excel操作失败!", e.getMessage());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: