Java操作Excel方法详解

来源:互联网 发布:海信电视频道直播软件 编辑:程序博客网 时间:2024/05/15 16:05

1. [代码]Java操作Excel方法详解    (API: jxl.jar

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的类    */
024package createxls;
025 
026import  java.io.File;  
027   
028import  jxl.Workbook;  
029import  jxl.write.Label;  
030import  jxl.write.WritableSheet;  
031import  jxl.write.WritableWorkbook;  
032   
033public   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 
0592)读Excel文件
060 
061 
062package readxls;
063 
064//读取Excel的类   
065import  java.io.File;  
066   
067import  jxl.Cell;  
068import  jxl.Sheet;  
069import  jxl.Workbook;  
070   
071public   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 
0923)合并单元格、格式化单元格等
093 
094 
095//合并单元格并在单元格中输入内容
096 
097package additionalproperty;
098 
099import java.io.*;
100import jxl.write.*;
101import jxl.*;
102 
103public 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 
1314)添加图片
132 
133     JExcelAPI对图片的操作有限:它不能生成图表、图片和宏,但是复制工作表时,这些信息可以保留复制。而且当向工作表中添加图片时,只能支持PNG格式的图片。
134 
135 
136//在工作表中添加图片
137 
138package handleimage;
139 
140import java.io.*;
141import jxl.*;
142import jxl.write.*;
143 
144public 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}