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

java 如何将sqlserver中的数据转到word 以表格形式

发布网友 发布时间:2022-05-04 21:56

我来回答

3个回答

热心网友 时间:2022-06-26 06:43

首先需加载你的SQLCUTE是不能错(指明点就是数据库的连接)
创建的方法查询所有的数据:
public List<User> AllObject();
得到所有的数据,我们就可以开始了(最好是写在你的Service中)
创建表格输出的方法(我们的数据肯定是以流的形式写进写出的,表明点就是下载该文件\\恩文件上传下载应该会吧)
好话不多说,开始工程
在service中定义方法:
public InputStream getInputStream(){
//为了好看点我就采用和word同类的软件exel
//相当于我们创建的exel的窗体,可以查看exel的表格样式就是.xsl
HSSFWorkbook wb=new HSSFWorkbook();

//创建sheet1 一般我们的exel默认的有三个exel
HSSFSheet hs=wb.createSheet("sheet1");

//创建row行

HSSFRow hr=hs.createRow(0);

//创建单元格

HSSFCell hc=hr.createCell((short)0);

//设置单元格的编码

hc.setEncoding(HSSFCell.ENCODING_UTF_16);

//设置表头的value的值

hc.setCellValue("ID");

//还要创建多个表头的值

hc=hr.createCell((short)1);
hc.setEncoding(HSSFCell.ENCODING_UTF_16);
hc.setCellValue("姓");

hc=hr.createCell((short)2);
hc.setEncoding(HSSFCell.ENCODING_UTF_16);
hc.setCellValue("名");

hc=hr.createCell((short)3);
hc.setEncoding(HSSFCell.ENCODING_UTF_16);
hc.setCellValue("年龄");

//从数据库中查出所有的用户

List<User> ls=iuser.AllListUser();
//便利所有的数据

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

//得到第i个数据

User us=ls.get(i);

//把数据放入表格中 i是从0开始读取 所以我们加一

hr=hs.createRow(i+1);

//设置编码

hc=hr.createCell((short)0);

hc.setEncoding(HSSFCell.ENCODING_UTF_16);

//设置序号 也就是在ID下的值,同样的是从0开始

hc.setCellValue(i+1);

//我们已经从数据库中获得了数据,所以我们可以从user中取出
hc=hr.createCell((short)1);
hc.setEncoding(HSSFCell.ENCODING_UTF_16);
hc.setCellValue(us.getUname());

hc=hr.createCell((short)2);
hc.setEncoding(HSSFCell.ENCODING_UTF_16);
hc.setCellValue(us.getSuname());

hc=hr.createCell((short)3);
hc.setEncoding(HSSFCell.ENCODING_UTF_16);
hc.setCellValue(us.getAge());
}
//这里是在硬盘上创建一个临时文件用于用户下载,这是第一种方法
//放入文件 ,所以必须创建个文件
String fileName=com.test.util.CUtils.getRandomString(5);
//上面的文件名是用随机数写的,这样就会没相同的文件,便于输写
fileName=new StringBuffer().append(fileName).append(".xls").toString();
final File file=new File(fileName);

//将文件输出到我们的硬盘

try {
OutputStream os=new FileOutputStream(file);
//把我们的数据输出到我们的HSSFWookbook中 ,以写入文件中
wb.write(os);

os.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

//构建个输入流
InputStream is=null;
try {
//输入文件
is=new FileInputStream(file);

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return is; //返回该输入流,完成
}
写完之后,可在servlet中直接调用,service中的getInputStream方法
你可以写方法接收,也可以写流接收,因为过来的方法有返回值IS
public InputStream getDownloadFile(){
return iuserservice.getInputStream();
}

这里后面就是你自己的事勒,简单点就是重定向某个页面(查看成功啦)等等
这有个弊端就是在Disk(磁盘)创建了多个文件,也就是不用的时候就是垃圾数据。实在有点勉强的话,加我QQ:236133039帮你解答(实战操作)

热心网友 时间:2022-06-26 06:43

jxl.jar工具包

热心网友 时间:2022-06-26 06:44

一般数据转的是Excel吧
貌似apache的poi可以
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 java写入word表格模板(欢迎高手过来探讨) 本人在网上购买的物件百世快递给弄丢了、快递公司应该陪付给谁? 百世汇通快递公司把东西弄丢了怎么赔偿? 如何充值电脑电信流量卡 中国电信流量卡充值 我是中国电信的,在什么平台充值流量会比较快到账? 电信什么流量卡充值软件比较好 哪里可以充值电信流量? 牛轧糖太软是怎么回事 用棉花糖做的牛轧糖,做的太软可以再放锅里熬吗? 牛轧糖太软怎么办 失败的牛轧糖(牛轧糖太软怎么办,)怎么做 牛轧糖做出来太软是什么原因 牛轧糖做出来太软是什么原因? 熬糖牛轧糖太软怎么办 牛轧糖做软了可以回锅吗 拯救失败的牛轧糖(牛轧糖太软怎么办,)的做法 请问武汉市农业银行网点地址 舌尖上的中国辣白菜是哪一集 河北省武汉的农业银行星期六上班吗 使用java如何直接往word文件中写入内容最好有详细的介绍和源代码 怎么才能用java向word指定的表中写相应的数据 在现实的社会中,为什么好多男人要靠女人来养了呢?是现实改变的吗... 战神4 2060画质设置 男人和女人在身体上比,男人是不是低等货? 男人比女人更需要理解和依靠 配电箱AP-XF-1是什么意思 请问这几个字母都代表的什么配电箱 为什么男人比女人赚的钱多呢? 男人和女人谁更靠不住? 男人真的要比女人强吗? 消防用电配电箱结构及其器件宜用什么型的 女人是不是比男人好找依靠? 消防配电箱CH2-100C/4是什么意思 男人介意女的比他大吗 男人成功的比例为什么比女人高? 有个视频- -是红色奥特曼钻进蓝色奥特曼肚子里的,这是哪部的啊? ZAP是什么消防配电箱 男人一定要比女人赚得多吗 为什么在那种事上,女人都比男人强!