AI智能解答
param_map.put("ID", "5");
param_map.put("题型", "单项选择题");
param_map.put("分值", "23");
list.add(param_map);
param_map = new LinkedHashMap();
//注册安全工程师题型及分值分布
param_map.put("ID", "6");
param_map.put("题型", "判断题");
param_map.put("分值", "27");
list.add(param_map);
param_map = new LinkedHashMap();
//注册安全工程师题型及分值分布
param_map.put("ID", "7");
param_map.put("题型", "论述题");
param_map.put("分值", "20");
list.add(param_map);
if(flag){
param_map = new LinkedHashMap();
//注册安全工程师题型及分值分布
param_map.put("ID", "8");
param_map.put("题型", "正确率(%)");
param_map.put("分值", "正确率(%)");
list.add(param_map);
}
// 第一列的最大宽度
sheet.setColumnWidth(0, 3000);
// 第二列的最大宽度
sheet.setColumnWidth(1, 7000);
// 第三列的最大宽度
sheet.setColumnWidth(2, 5000);
// 创建一个表格样式
HSSFCellStyle style = wb.createCellStyle();
// 设置表头居中显示
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 添加单元格注释
// 创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
HSSFPatriarch patr = sheet.createDrawingPatriarch();
// 定义注释的大小和位置,详见文档
// 创建HSSFComment对象并设置在单元格上
HSSFComment comment = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)3, 3, (short)5, 6));
// 设置注释内容
comment.setAuthor("author:");
HSSFRow row_title = sheet.createRow(0);
//获取列key
String[] titles = (String[]) list.get(0).keySet().toArray(new String[0]);
for (short i = 0; i < titles.length; i++) {
// 在索引0的位置创建单元格(左上端)
HSSFCell cell = row_title.createCell(i);
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在单元格中输入一些内容
cell.setCellValue(titles[i]);
// 添加样式
cell.setCellStyle(style);
// 添加注释
cell.setCellComment(comment);
}
// 写入数据
for(int i = 0; i < list.size(); i++){
HSSFRow row = sheet.createRow(i + 1);
// "ID", "试题类型", "题型", "分值", "正确率(%)"
Map map = list.get(i);
row.createCell(0).setCellValue(map.get("ID").toString());
if(flag){
row.createCell(1).setCellValue(map.get("试题类型").toString());
}
row.createCell(2).setCellValue(map.get("题型").toString());
row.createCell(3).setCellValue(map.get("分值").toString());
if(flag){
row.createCell(4).setCellValue(map.get("正确率(%)").toString());
}
// 将内容按顺序赋给对应的列对象
}
//让列宽随着导出的列长自动适应
//sheet.autoSizeColumn(5200);
OutputStream os = response.getOutputStream();//取出输出流
response.reset();//清空输出流
String filename = "";
if(flag){
filename = "考试题型及分值统计数据.xls";
}else{
filename = "注册安全工程师题型及分值分布.xls";
}
//设定输出文件头
response.setHeader("Content-disposition","attachment; filename="
+ new String(filename.getBytes("gb2312"), "ISO8859-1"));
//定义输出类型
response.setContentType("application/msexcel");
wb.write(os);
os.flush();
os.close();
}
//答题情况统计
if("answer_statistics_xls".equals(type)){
title.add("ID");
title.add("题号");
title.add("正确答案");
title.add("正确率(%)");
// 第一列的最大宽度
sheet.setColumnWidth(0, 3000);
// 第二列的最大宽度
sheet.setColumnWidth(1, 6000);
// 第三列的最大宽度
sheet.setColumnWidth(2, 5000);
// 第四列的最大宽度
sheet.setColumnWidth(3, 5000);
// 创建一个表格样式
HSSFCellStyle style = wb.createCellStyle();
// 设置表头居中显示
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 添加单元格注释
// 创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
HSSFPatriarch patr = sheet.createDrawingPatriarch();
// 定义注释的大小和位置,详见文档
// 创建HSSFComment对象并设置在单元格上
HSSFComment comment = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)3, 3, (short)5, 6));
// 设置注释内容
comment.setAuthor("author:");
HSSFRow row_title = sheet.createRow(0);
//获取列key
String[] titles = (String[]) list.get(0).keySet().toArray(new String[0]);
for (short i = 0; i < titles.length; i++) {
// 在索引0的位置创建单元格(左上端)
HSSFCell cell = row_title.createCell(i);
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在单元格中输入一些内容
cell.setCellValue(titles[i]);
// 添加样式
cell.setCellStyle(style);
// 添加注释
cell.setCellComment(comment);
}
// 写入数据
for(int i = 0; i < list.size(); i++){
HSSFRow row = sheet.createRow(i + 1);
// "ID", "试题类型", "题型", "分值", "正确率(%)"
Map map = list.get(i);
row.createCell(0).setCellValue(map.get("ID").toString());
row.createCell(1).setCellValue(map.get("题号").toString());
row.createCell(2).setCellValue(map.get("正确答案").toString());
row.createCell(3).setCellValue(map.get("正确率(%)").toString());
// 将内容按顺序赋给对应的列对象
}
//让列宽随着导出的列长自动适应
//sheet.autoSizeColumn(5200);
OutputStream os = response.getOutputStream();//取出输出流
response.reset();//清空
公共科目考试题型为客观题,分为单项选择题和多项选择题两部分。单项选择题只有一个选项是最合适的。选择题中有两个或两个以上符合题意的选项,且至少有一项错误,则错误选项不得分;每个选项选择少的,得0.5分。试卷70道选择题,每道1分;5道选择题,每道2分。
专业科目题包括专业安全技术和安全生产案例分析两部分。专业安全技术部分题为客观题,均为单项选择题,占分值的20%。安全生产案例分析部分试题包括客观题(占分值的10%)和主观题(占分值的70%)。客观题为单项选择题和多项选择题,主观题为综合案例分析题。
一级注册安全工程师考试成绩实行2年滚动管理模式,考生需要连续2个考试年度通过全部考试科目。只有这样才能取得一级注册安全工程师证书,该证书只被发证地认可,需要跨地区申请。