永发信息网

在Java编程中怎么将从数据库查询出来的数据导成Excel文件?

答案:2  悬赏:20  手机版
解决时间 2021-03-15 11:18
在Java编程中怎么将从数据库查询出来的数据导成Excel文件?
最佳答案
用一个list集合接收从数据库里返回的数据,把一条数据当成一个Map,然后遍历list,最后把这个Map中对应Excel的列的值,写到Excel里
全部回答

import jxl.*;   import jxl.write.*;   import java.io.*;   import java.io.file.*;   import java.util.*;   public class excel   {   public static void main(string[] args)    {   string targetfile = "c:/out.xls";//输出的excel文件名   string worksheet = "list";//输出的excel文件工作表名   string[] title = {"id","name","describ"};//excel工作表的标题   writableworkbook workbook;   try {   //创建可写入的excel工作薄,运行生成的文件在tomcat/bin下   //workbook = workbook.createworkbook(new file("output.xls"));    system.out.println("begin");   outputstream os=new fileoutputstream(targetfile);    workbook=workbook.createworkbook(os);    writablesheet sheet = workbook.createsheet(worksheet, 0); //添加第一个工作表   //writablesheet sheet1 = workbook.createsheet("mysheet1", 1); //可添加第二个工作   jxl.write.label label;   for (int i=0; i<title.length; i++)   {   //label(列号,行号 ,内容 )   label = new jxl.write.label(i, 0, title[i]); //put the title in row1    sheet.addcell(label);    }   //下列添加的对字体等的设置均调试通过,可作参考用   //添加数字   jxl.write.number number = new jxl.write.number(3, 4, 3.14159); //put the number 3.14159 in cell d5   sheet.addcell(number);   //添加带有字型formatting的对象    jxl.write.writablefont wf = new jxl.write.writablefont(writablefont.times,10,writablefont.bold,true);    jxl.write.writablecellformat wcff = new jxl.write.writablecellformat(wf);    jxl.write.label labelcf = new jxl.write.label(4,4,"文本",wcff);    sheet.addcell(labelcf);    //添加带有字体颜色,带背景颜色 formatting的对象    jxl.write.writablefont wfc = new jxl.write.writablefont(writablefont.arial,10,writablefont.bold,false,jxl.format.underlinestyle.no_underline,jxl.format.colour.red);    jxl.write.writablecellformat wcffc = new jxl.write.writablecellformat(wfc);    wcffc.setbackground(jxl.format.colour.blue);   jxl.write.label labelcfc = new jxl.write.label(1,5,"带颜色",wcffc);    sheet.addcell(labelcfc);    //添加带有formatting的number对象    jxl.write.numberformat nf = new jxl.write.numberformat("#.##");    jxl.write.writablecellformat wcfn = new jxl.write.writablecellformat(nf);    jxl.write.number labelnf = new jxl.write.number(1,1,3.1415926,wcfn);    sheet.addcell(labelnf);    //3.添加boolean对象    jxl.write.boolean labelb = new jxl.write.boolean(0,2,false);    sheet.addcell(labelb);    //4.添加datetime对象    jxl.write.datetime labeldt = new jxl.write.datetime(0,3,new java.util.date());    sheet.addcell(labeldt);    //添加带有formatting的dateformat对象    jxl.write.dateformat df = new jxl.write.dateformat("ddmmyyyyhh:mm:ss");    jxl.write.writablecellformat wcfdf = new jxl.write.writablecellformat(df);    jxl.write.datetime labeldtf = new jxl.write.datetime(1,3,new java.util.date(),wcfdf);    sheet.addcell(labeldtf);    //和宾单元格   //sheet.mergecells(int col1,int row1,int col2,int row2);//左上角到右下角   sheet.mergecells(4,5,8,10);//左上角到右下角   wfc = new jxl.write.writablefont(writablefont.arial,40,writablefont.bold,false,jxl.format.underlinestyle.no_underline,jxl.format.colour.green);    jxl.write.writablecellformat wchb = new jxl.write.writablecellformat(wfc);    wchb.setalignment(jxl.format.alignment.centre);   labelcfc = new jxl.write.label(4,5,"单元合并",wchb);    sheet.addcell(labelcfc); //   //设置边框   jxl.write.writablecellformat wcsb = new jxl.write.writablecellformat();    wcsb.setborder(jxl.format.border.all,jxl.format.borderlinestyle.thick);   labelcfc = new jxl.write.label(0,6,"边框设置",wcsb);    sheet.addcell(labelcfc);    workbook.write();    workbook.close();   }catch(exception e)    {    e.printstacktrace();    }    system.out.println("end");   runtime r=runtime.getruntime();    process p=null;    //string cmd[]={"notepad","exec.java"};    string cmd[]={"c:\\program files\\microsoft office\\office\\excel.exe","out.xls"};    try{    p=r.exec(cmd);    }    catch(exception e){    system.out.println("error executing: "+cmd[0]);    }   }   } 

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
黄科大医学院附属瑞康医院-门诊部在什么地方
我有一个联通合约号已经半年没用了,现在打电
代县公安局滩上派出所这个地址在什么地方,我
谁有家教狱火重生这部小说?
请问温州科目四考试场地在哪里?
食杂店要交税收吗?如果要大概要多少税收呢?
生物圈范围包括什么的底部、什么的大部、什么
月光宝盒MP3是爱国者旗下的吗
库鱼鱻酒家我想知道这个在什么地方
小轿车和三轮车共24辆,这些车共有86个轮子,三
城关加油站地址有知道的么?有点事想过去
货车资格证现在还要办理吗
我开车正常行驶中,遇行人横穿马路,经抢救无
舜馨苑我想知道这个在什么地方
数据库实体怎么写
推荐资讯
买了一颗黑美人西瓜,切开中间一片发黄色瓜子
月初老板答应客户开发票,但这个月公司暂时开
金太阳蛋糕小石坝社区老农贸市场分店这个地址
三桂大道/G105(路口)地址在什么地方,想过去
吃完饭然后到睡午觉的时候肚子就会咕噜咕噜叫
骏田阳光国际酒店公馆在什么地方啊,我要过去
求一个超虐心的动漫.最后死了很多人的那种
判决未生效时又发现被告人还有同类漏罪怎么办
既竟,炮响旗飞,若翦霞空际 啥意思?
癌症农村医疗保险怎样报销
广安市琴韵琴行在什么地方啊,我要过去处理事
孝感到苏州北的动车g8224次17:01发车什么时候
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?