把从数据库查出来的显示在jsp页面上的数据导出到excel中 求解 最好有完整代码 谢谢大神们

把从数据库查出来的显示在jsp页面上的数据导出到excel中求解最好有完整代码谢谢大神们有的回信或者直接给我传份过来重重有赏!!!我的邮箱(lwqaccp123@sina... 把从数据库查出来的显示在jsp页面上的数据导出到excel中 求解 最好有完整代码 谢谢大神们 有的回信或者直接给我传份过来 重重有赏!!!我的邮箱(lwqaccp123@sina.cn) 展开
 我来答
zxcv5453384
2013-07-29
知道答主
回答量:11
采纳率:0%
帮助的人:3.9万
展开全部
下面的是java源程序,你可以试一下:
package basedao;
import jxl.*;
import jxl.write.*;
import java.io.*;
import java.util.Iterator;
import java.util.Collection;
import vo.studentVo;
import database.GeneralDAO;
import database.Database;
/**
* <p>导出学生的用户名和密码到EXCEL表: </p>
*
* <p>使用JXL包,实现对EXCEL文件的导出: </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>e21: </p>
*
* @author 胡保林
* @version 1.0
*/
public class importtoExcelDao {
private String zkStuTable = "xs_2008";
Database db = new Database("");
private GeneralDAO dao = null;
public importtoExcelDao() {
dao = new GeneralDAO(db, zkStuTable);
}
public Collection getStudents(String xxcode) { //取学校的学生姓名,用户名,密码;
Collection col = null;
try {
col = dao.findDatas("XH,XM,MM", "xx=" + xxcode, null, studentVo.class);
return col;
} catch (Exception ex) {
}
return col;
}
public void importUserPwd(String filename, Iterator it) { //filename是生成文件的路径及用户名;it是内容, Iterator it;
try {
//open file.
WritableWorkbook book = Workbook.createWorkbook(new File(filename));
WritableSheet sheet = book.createSheet("学生用户名及密码表", 0);
Label label = new Label(0, 0, "姓名");
sheet.addCell(label);
label = new Label(1, 0, "用户名");
sheet.addCell(label);
label = new Label(2, 0, "密码");
sheet.addCell(label);
int row = 1;
for (; it.hasNext(); ) {
studentVo vo = (studentVo) it.next();
Label xm = new Label(0, row, vo.getXm());
sheet.addCell(xm);
Label username = new Label(1, row, vo.getXh());
sheet.addCell(username);
Label pwd = new Label(2, row, vo.getMm());
sheet.addCell(pwd);
// LabelCell label=new jxl.write.Label(0,row,vo.getXm());
// jxl.write.Number number = new jxl.write.Number(0, row,xm);
//add defined cell above to sheet instance.
// sheet.addCell(number);
//add defined all cell above to case.
row++;
}
book.write();
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

package action.importdb;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import basedao.importtoExcelDao;
import java.util.Collection;
import java.util.Iterator;
import java.io.IOException;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import util.*;
import java.io.InputStream;
public class importUserPwdAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws
IOException {
importtoExcelDao dao = new importtoExcelDao();
String schoolcode = "420902026006"; //学校代码;
Collection col = dao.getStudents(schoolcode); //取学校的学生;
if (col != null) {
System.out.println("col is " + col.size());
Iterator it = col.iterator();
//dao.importUserPwd("d:/Test.xls",it);
String filename = schoolcode + ".xls"; //学校代码命名的excel表;
config con = new config();
String filepath = servlet.getServletContext().getRealPath("/") +
con.downloadPath + filename; //生成excel文件的路径;
dao.importUserPwd(filepath, it);
InputStream inStream = new FileInputStream(filepath);
response.reset();
response.setContentType("bin");
response.addHeader("Content-Disposition",
"attachment; filename=\"" + filename + "\"");
byte[] b = new byte[100];
int len;
while ((len = inStream.read(b)) > 0) {
response.getOutputStream().write(b, 0, len);
}
inStream.close();
}
return null;
}
}
不知道对你是否有帮助,望采纳
娱乐大弟子
2013-07-27 · TA获得超过411个赞
知道小有建树答主
回答量:751
采纳率:33%
帮助的人:322万
展开全部
代码就不写了,给你说说过程。数据按一条一行写入csv文件就行了,如数据库数据为

(id,name,sex)一条为1 ‘abc’ ‘man’,取出后保存为1,abc,man,以逗号分隔,然后用java IO写成csv文件,这样就是execl文件了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式