ssh2 下载问题
时间:2011-03-12
来源:互联网
我用的是SSH2 现在有两个头疼的问题,网页上有两个功能 第一个是把数据库表下载成Excel,第二,就是分页
如果我的数据库用的是SQLServer2005 能下载但是不能query.setFirstResult(start);query.setMaxResults(number);这个的分页语句,用的话就报错。可是,下载可以用的。
如果用MySQL可以分页也能用query.setFirstResult(start);query.setMaxResults(number);不用报错,但是下载不能用。已经一个星期了,我怎么都搞不出来,很郁闷,请大虾来帮帮我,谢谢您们了。
这个是下载成Excel的类,用着没有问题。
public InputStream getInputStream() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("编号");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("所在部门");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("姓名");
cell = row.createCell((short) 3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("性别");
cell = row.createCell((short) 4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("出生日期");
cell = row.createCell((short) 5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("学历");
cell = row.createCell((short) 6);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("学位");
cell = row.createCell((short) 7);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("现职称");
cell = row.createCell((short) 8);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("取得现职称日期");
cell = row.createCell((short) 9);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("专业名称");
cell = row.createCell((short) 10);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("必修(已通过)");
cell = row.createCell((short) 11);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("选修(总分)");
cell = row.createCell((short) 12);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("申核状态");
List<Teacher> list = this.listTeacher();
for (int i = 0; i < list.size(); i++) {
Teacher teacher = list.get(i);
row = sheet.createRow(i + 1);
cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(i + 1);
cell = row.createCell((short) 1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getDepartment());
cell = row.createCell((short) 2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getName());
cell = row.createCell((short) 3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getSex());
cell = row.createCell((short) 4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell
.setCellValue(teacher.getBirthday().toString().substring(0,
10));
cell = row.createCell((short) 5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getDegree());
cell = row.createCell((short) 6);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getEducation());
cell = row.createCell((short) 7);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getPost());
cell = row.createCell((short) 8);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell
.setCellValue(teacher.getPosttime().toString().substring(0,
10));
cell = row.createCell((short) 9);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getProfressional());
cell = row.createCell((short) 10);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getCompulsoryresult());
cell = row.createCell((short) 11);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getEletiveresult() + " 分");
cell = row.createCell((short) 12);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if (teacher.getFlag()) {
cell.setCellValue("已申核");
} else {
cell.setCellValue("未申核");
}
}
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
wb.write(outputStream);
} catch (Exception e) {
e.printStackTrace();
}
byte[] content = outputStream.toByteArray();
InputStream inputStream = new ByteArrayInputStream(content);
return inputStream;
}
如果我的数据库用的是SQLServer2005 能下载但是不能query.setFirstResult(start);query.setMaxResults(number);这个的分页语句,用的话就报错。可是,下载可以用的。
如果用MySQL可以分页也能用query.setFirstResult(start);query.setMaxResults(number);不用报错,但是下载不能用。已经一个星期了,我怎么都搞不出来,很郁闷,请大虾来帮帮我,谢谢您们了。
这个是下载成Excel的类,用着没有问题。
public InputStream getInputStream() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("编号");
cell = row.createCell((short) 1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("所在部门");
cell = row.createCell((short) 2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("姓名");
cell = row.createCell((short) 3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("性别");
cell = row.createCell((short) 4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("出生日期");
cell = row.createCell((short) 5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("学历");
cell = row.createCell((short) 6);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("学位");
cell = row.createCell((short) 7);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("现职称");
cell = row.createCell((short) 8);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("取得现职称日期");
cell = row.createCell((short) 9);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("专业名称");
cell = row.createCell((short) 10);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("必修(已通过)");
cell = row.createCell((short) 11);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("选修(总分)");
cell = row.createCell((short) 12);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("申核状态");
List<Teacher> list = this.listTeacher();
for (int i = 0; i < list.size(); i++) {
Teacher teacher = list.get(i);
row = sheet.createRow(i + 1);
cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(i + 1);
cell = row.createCell((short) 1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getDepartment());
cell = row.createCell((short) 2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getName());
cell = row.createCell((short) 3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getSex());
cell = row.createCell((short) 4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell
.setCellValue(teacher.getBirthday().toString().substring(0,
10));
cell = row.createCell((short) 5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getDegree());
cell = row.createCell((short) 6);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getEducation());
cell = row.createCell((short) 7);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getPost());
cell = row.createCell((short) 8);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell
.setCellValue(teacher.getPosttime().toString().substring(0,
10));
cell = row.createCell((short) 9);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getProfressional());
cell = row.createCell((short) 10);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getCompulsoryresult());
cell = row.createCell((short) 11);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(teacher.getEletiveresult() + " 分");
cell = row.createCell((short) 12);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if (teacher.getFlag()) {
cell.setCellValue("已申核");
} else {
cell.setCellValue("未申核");
}
}
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
wb.write(outputStream);
} catch (Exception e) {
e.printStackTrace();
}
byte[] content = outputStream.toByteArray();
InputStream inputStream = new ByteArrayInputStream(content);
return inputStream;
}
作者: shuaileitj 发布时间: 2011-03-12
这貌似和apache没关系
作者: ashchen 发布时间: 2011-03-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28