Java操作Excel

1. [代码]Java操作Excel方法详解     

001   JAVA 通常有两种方法来操作Excel,分别是POI和JExcelAPI,而且都是开源的。POI是Apace公司开发的,对中文的支持比较弱一些;而JExcelAPI是韩国公司开发的,不仅对中文的支持好,而且由于是纯JAVA编写的,所以可以跨平台操作。本文介绍的也是JExcelAPI的使用方法。
002  
003         1、环境配置
004  
005          如下网址,可以下载到API:http://www.andykhan.com/jexcelapi/download.html
006  
007         下载完成的包解压之后,可以得到如下几个重要的文件:
008  
009        1)jxl.jar  —— JExcelAPI 函数库;
010  
011        2)docs  ——  帮助文档;
012  
013        3)src     ——  源码文件夹;
014  
015          将jxl.jar复制到%JAVA_HOME%\jre\ext\文件夹下面,在CLASSPATH变量里面添加"%JAVA_HOME%\jre\ext",然后就可以调用JExcelAPI了。如果出现编译报错“找不到java.jxl包”,则可能是没有设置成功。这时,如果有Eclipse开发工具,可以在"Build Path"中添加"External Library",找到jxl.jar的路径,然后就能编译成功了。
016  
017         2、Excel基础操作实例
018  
019         (1)  创建Excel文件   
020  
021   /**读取Excel文件的内容  
022  * @param file  待读取的文件  
023  * @return   // 生成Excel的类    */
024 package createxls;
025  
026 import  java.io.File;  
027    
028 import  jxl.Workbook;  
029 import  jxl.write.Label;  
030 import  jxl.write.WritableSheet;  
031 import  jxl.write.WritableWorkbook;  
032    
033 public   class  CreateXLS {  
034     public   static   void  main(String args[])   {  
035         try    {  
036             //  打开文件   
037             WritableWorkbook book  =  Workbook.createWorkbook( new  File( " test.xls "));  
038             //  生成名为“第一页”的工作表,参数0表示这是第一页   
039             WritableSheet sheet  =  book.createSheet( " 第一页 " ,  0 );  
040             //  在Label对象的构造子中指名单元格位置是第一列第一行(0,0)  
041             //  以及单元格内容为test   
042             Label label  =   new  Label( 0 ,  0 ,  " test " );  
043    
044             //  将定义好的单元格添加到工作表中   
045             sheet.addCell(label);  
046    
047             //  写入数据并关闭文件   
048             book.write();  
049            book.close();  
050    
051        }   catch  (Exception e)   {  
052            System.out.println(e);  
053        }   
054    }   
055 }  
056  
057   
058  
059 2)读Excel文件
060  
061  
062 package readxls;
063  
064 //读取Excel的类   
065 import  java.io.File;  
066    
067 import  jxl.Cell;  
068 import  jxl.Sheet;  
069 import  jxl.Workbook;  
070    
071 public   class  ReadXLS   {  
072     public   static   void  main(String args[])   {  
073         try    {  
074            Workbook book  =  Workbook.getWorkbook( new  File( " test.xls " ));  
075             //  获得第一个工作表对象   
076             Sheet sheet  =  book.getSheet( 0 );  
077             //  得到第一列第一行的单元格   
078             Cell cell1  =  sheet.getCell( 0 ,  0 );  
079            String result  =  cell1.getContents();  
080            System.out.println(result);  
081            book.close();  
082        }   catch  (Exception e)   {  
083            //System.out.println(e);  
084         e.printStackTrace();
085        }   
086     }   
087 }
088  
089  
090   
091  
092 3)合并单元格、格式化单元格等
093  
094  
095 //合并单元格并在单元格中输入内容
096  
097 package additionalproperty;
098  
099 import java.io.*;
100 import jxl.write.*;
101 import jxl.*;
102  
103 public class MergeCells {
104  public static void main(String [] args){
105   try{
106         WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
107         WritableSheet sheet = book.createSheet("第一页"0);
108         sheet.mergeCells(3366);  //合并单元格
109     
110         //设置填充内容的格式
111         WritableFont font = new WritableFont(WritableFont.TIMES, 30, WritableFont.BOLD);
112         WritableCellFormat format = new WritableCellFormat(font);
113         format.setAlignment(jxl.format.Alignment.CENTRE);  //水平居中
114         format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);  //垂直居中
115         format.setBackground(jxl.format.Colour.BLUE); //背景颜色和样式
116         format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THICK);  //边框样式
117     
118         Label label = new Label(33"合并", format); //添加内容
119         sheet.addCell(label);
120         book.write();
121         book.close();
122   }//end try
123       catch (Exception e){
124            e.printStackTrace();
125        }
126    }
127 }
128  
129   
130  
131 4)添加图片
132  
133      JExcelAPI对图片的操作有限:它不能生成图表、图片和宏,但是复制工作表时,这些信息可以保留复制。而且当向工作表中添加图片时,只能支持PNG格式的图片。
134  
135  
136 //在工作表中添加图片
137  
138 package handleimage;
139  
140 import java.io.*;
141 import jxl.*;
142 import jxl.write.*;
143  
144 public class CreateImage {
145  public static void main(String [] args){
146   try{
147        WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
148        WritableSheet sheet = book.createSheet("第一页"0);
149        WritableImage image = new WritableImage(3.53.54.38.7,  //定义图片格式
150        new File("C:\\Documents and Settings\\Wei Li\\My Documents\\My Pictures\\Water lilies.PNG"));
151        sheet.addImage(image);  //添加图片
152     
153        book.write();
154        book.close();
155       }//end try
156       catch (Exception e){ e.printStackTrace(); }
157    }
158 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值