用JXL读写Excel文件

转载:http://gavin-chen.iteye.com/blog/257852

JXL是Java Excel的缩写,与名字相应,它是一个JAVA读写Excel文件的工具类,当然有另外的一个被称之为JAVA与Excel的完美解决方案POI,不过我没用过,以后再去尝试一下,因为当前做的项目的旧代码中有涉及到JXL的应用,所以就特地了解了一下,感觉就一个字,简单易用,感觉像是在用GWT的FlexTable,行列有个坐标,把相应的东西放到相应的坐标就行了,当然还有合并单元格之类的操作,很HTML Table!

好了,下面贴一段代码,虽然是网上抄来的,我只是省得以后到处找,大家也难得到这里来,看到了这篇文章,有兴趣就可以拿去看吧

Java代码   收藏代码
  1. import jxl.*;     
  2. import jxl.write.*;     
  3. import java.io.*;     
  4. import java.io.File.*;     
  5. import java.util.*;     
  6.     
  7.     
  8.     
  9. public class excel     
  10. {     
  11. public static void main(String[] args)      
  12. {     
  13.  String targetfile = "c:/out.xls";//输出的excel文件名     
  14.  String worksheet = "List";//输出的excel文件工作表名     
  15.  String[] title = {"ID","NAME","DESCRIB"};//excel工作表的标题     
  16.     
  17.     
  18.  WritableWorkbook workbook;     
  19.  try    
  20.  {     
  21.   //创建可写入的Excel工作薄,运行生成的文件在tomcat/bin下     
  22.   //workbook = Workbook.createWorkbook(new File("output.xls"));      
  23.   System.out.println("begin");     
  24.     
  25.   OutputStream os=new FileOutputStream(targetfile);      
  26.   workbook=Workbook.createWorkbook(os);      
  27.     
  28.   WritableSheet sheet = workbook.createSheet(worksheet, 0); //添加第一个工作表     
  29.   //WritableSheet sheet1 = workbook.createSheet("MySheet1", 1); //可添加第二个工作     
  30.   /*   
  31.    *jxl.write.Label label = new jxl.write.Label(0, 2, "A label record");  
  32.    *//put a label in cell A3, Label  (column,row)    
  33.    *//sheet.addCell(label);     
  34.        */    
  35.     
  36.   jxl.write.Label label;     
  37.   for (int i=0; i<title.length; i++)     
  38.   {     
  39.    //Label(列号,行号 ,内容 )     
  40.    label = new jxl.write.Label(i, 0, title[i]); //put the title in row1      
  41.    sheet.addCell(label);      
  42.   }     
  43.     
  44.   //下列添加的对字体等的设置均调试通过,可作参考用     
  45.   //添加数字     
  46.   jxl.write.Number number = new jxl.write.Number(343.14159); //put the number 3.14159 in cell D5     
  47.   sheet.addCell(number);     
  48.     
  49.   //添加带有字型Formatting的对象      
  50.   jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES,10,WritableFont.BOLD,true);      
  51.   jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);      
  52.   jxl.write.Label labelCF = new jxl.write.Label(4,4,"文本",wcfF);      
  53.   sheet.addCell(labelCF);      
  54.     
  55.   //添加带有字体颜色,带背景颜色 Formatting的对象      
  56.   jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);      
  57.   jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);      
  58.   wcfFC.setBackground(jxl.format.Colour.BLUE);     
  59.   jxl.write.Label labelCFC = new jxl.write.Label(1,5,"带颜色",wcfFC);      
  60.   sheet.addCell(labelCFC);      
  61.     
  62.   //添加带有formatting的Number对象      
  63.   jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");      
  64.   jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);      
  65.   jxl.write.Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);      
  66.   sheet.addCell(labelNF);      
  67.     
  68.   //3.添加Boolean对象      
  69.   jxl.write.Boolean labelB = new jxl.write.Boolean(0,2,false);      
  70.   sheet.addCell(labelB);      
  71.     
  72.   //4.添加DateTime对象      
  73.   jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());      
  74.   sheet.addCell(labelDT);      
  75.     
  76.   //添加带有formatting的DateFormat对象      
  77.   jxl.write.DateFormat df = new jxl.write.DateFormat("ddMMyyyyhh:mm:ss");      
  78.   jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);      
  79.   jxl.write.DateTime labelDTF = new jxl.write.DateTime(1,3,new java.util.Date(),wcfDF);      
  80.   sheet.addCell(labelDTF);      
  81.     
  82.   //和宾单元格     
  83.   //sheet.mergeCells(int col1,int row1,int col2,int row2);//左上角到右下角     
  84.   sheet.mergeCells(4,5,8,10);//左上角到右下角     
  85.   wfc = new jxl.write.WritableFont(WritableFont.ARIAL,40,WritableFont.BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);      
  86.   jxl.write.WritableCellFormat wchB = new jxl.write.WritableCellFormat(wfc);      
  87.   wchB.setAlignment(jxl.format.Alignment.CENTRE);     
  88.   labelCFC = new jxl.write.Label(4,5,"单元合并",wchB);      
  89.   sheet.addCell(labelCFC); //     
  90.     
  91.   //设置边框     
  92.   jxl.write.WritableCellFormat wcsB = new jxl.write.WritableCellFormat();      
  93.   wcsB.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THICK);     
  94.   labelCFC = new jxl.write.Label(0,6,"边框设置",wcsB);      
  95.   sheet.addCell(labelCFC);      
  96.   workbook.write();      
  97.   workbook.close();     
  98.  }  
  99.  catch (Exception e)   
  100.  {      
  101.   e.printStackTrace();      
  102.  }      
  103.    
  104.  System.out.println("end");     
  105.  Runtime r=Runtime.getRuntime();      
  106.  Process p=null;      
  107.  //String cmd[]={"notepad","exec.java"};      
  108.   
  109.  String cmd[]={"C:\\Program Files\\Microsoft Office\\Office\\EXCEL.EXE","out.xls"};      
  110.   
  111.  try  
  112.  {      
  113.   p=r.exec(cmd);      
  114.  }      
  115.  catch(Exception e)  
  116.  {      
  117.   System.out.println("error executing: "+cmd[0]);      
  118.  }     
  119.     
  120.     
  121.  }     
  122. }    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值