问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-28 18:10

我来回答

2个回答

热心网友 时间:2023-09-14 00:29

下面的是java源程序,你可以试一下:
package base;
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 = null;
public importtoExcelDao() {
= new GeneralDAO(db, zkStuTable);
}
public Collection getStudents(String xxcode) { //取学校的学生姓名,用户名,密码;
Collection col = null;
try {
col = .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 base.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 = new importtoExcelDao();
String schoolcode = "420902026006"; //学校代码;
Collection col = .getStudents(schoolcode); //取学校的学生;
if (col != null) {
System.out.println("col is " + col.size());
Iterator it = col.iterator();
//.importUserPwd("d:/Test.xls",it);
String filename = schoolcode + ".xls"; //学校代码命名的excel表;
config con = new config();
String filepath = servlet.getServletContext().getRealPath("/") +
con.downloadPath + filename; //生成excel文件的路径;
.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;
}
}
不知道对你是否有帮助,望采纳

热心网友 时间:2023-09-14 00:30

代码就不写了,给你说说过程。数据按一条一行写入csv文件就行了,如数据库数据为

(id,name,sex)一条为1 ‘abc’ ‘man’,取出后保存为1,abc,man,以逗号分隔,然后用java IO写成csv文件,这样就是execl文件了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 日语0的三种说法的区别 如何在servlet中生成csv文件并压缩输出 java 如何生成csv文件 在线等待 日语怎么说零(0)都用ゼロ啊? java将查询数据导出成csv文件的问题 日语零是写ぜろ还是ゼロ? 关于用jsp编写,导出数据库中文件为&quot;.csv&quot;文件问题 JSP页面将查询结果导出为CSV文件 染色体畸变是在什么时期发生的? 染色体畸变有什么影响 求解、染色体畸变的意义是什么? 什么是为染色体疾病? 生物异变有哪几种类型,分别由什么引起的? 胎儿染色体异常是什么原因? 什么原因引起染色体异常? 染色体异常是什么? 什么是稳定型染色体畸变 染色体畸变和基因突变有什么区别 引起染色体畸变的原因是什么? 染色体畸变和基因突变要怎么区分呢 帮帮忙 jsp如何把数据库里的数据生成excel文档 QQ同步助手导出通讯录的格式是为何JSP,导出后不能上传到189邮箱,不支持这种格式.请赐教,谢谢! 请在这里概述您的问题QQ同步助手导出通讯录的格式,我选择了是CSV,可导出的格式为何是JSP? 想把MYSQL数据库中查询出来的数据导出到Access数据库,怎么实现?JSP开发的系统 jsp导成excel文本格式怎么搞?经理说在导出后面的值加个空格就可以了,但是我导出后面的值是函数 zip格式的文件怎么变成csv的格式的 现在接手一个java项目 批量导入模块,需提供jsp页面上excel导入功能 求设... 如何提高birt报表生成速度 CXF WebService 可以自定义返回类型为csv吗 jsp文件用什么程序打开? 怎样将outlook中的联系人同步到三星S4手机中 笔记本显卡GTX 765M相当于台式机的什么显卡? GTX765M相当于什么级别的台式显卡 笔记本显卡 gtx765m相当于台式机什么显卡? GTX765m和GTX860m哪个好? 笔记本显卡GTX765m相当于台式机什么级别的显卡 请问大神可以帮忙比较一下GT650m、GTX760m、GTX765m分别可以和台式的哪一款性能相当 NVIDIA GeForce GTX 765M+Intel GMA HD 4600 求大神帮看下 请问外星人的双gtx765m显卡交火相当于台式机哪一款显卡的性能? NVIDIA GTX765m和GTX860m差距有多大?要详解