首页 > 编程语言 > 详细

使用java写入excel文件

时间:2015-10-13 18:42:08      阅读:249      评论:0      收藏:0      [点我收藏+]
要操作excle文件,首先要下载jxl.jar文件,我用的版本是2.6。下载地址:http://www.andykhan.com/jexcelapi/download.html。
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。
1、建立一个xls文件
OutputStream os=new FileOutputStream("c:\\test.xls");
 
2、建立工作文件
WritableWorkbook wwb = Workbook.createWorkbook(os);
 
3、如果这个文件已经存在,那么我们可以在这个文件里面加入一个sheet为了和以前的数据进行分开; 
jxl.write.WritableSheet ws = wwb.createSheet("Sheet 1", 0); 
在createSheet方法里前面的参数是sheet名,后面是要操作的sheet号
 
4、写入数据
(1)最简单的字符型数据
Label label = new Label(0, 0, "This is a Label cell",wcfF); 
ws.addCell(label); 
在Label()方法里面有三个参数 
第一个是代表列数, 
第二是代表行数, 
第三个代表要写入的内容 
第四个是可选项,是输入这个label里面的样式 
然后通过写sheet的方法addCell()把内容写进sheet里面。
 
字体样式:
WritableFont wf = new WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true); 
WritableFont()方法里参数说明: 
这个方法算是一个容器,可以放进去好多属性 
第一个: TIMES是字体大小,他写的是18 
第二个: BOLD是判断是否为斜体,选择true时为斜体 
第三个: ARIAL 
第四个: UnderlineStyle.NO_UNDERLINE 下划线 
第五个: jxl.format.Colour.RED 字体颜色是红色的
 
WritableCellFormat wcfF = new WritableCellFormat(wf);
 
(2)添加带有formatting的Number对象 
NumberFormat nf = new NumberFormat("#.##");
 
(3)添加Number对象
(3.1)显示number对象数据的格式
 
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
 
Number labelNF = new Number(1,1,3.1415926,wcfN);
ws.addCell(labelNF);
Number()方法参数说明:
前两上表示输入的位置
第三个表示输入的内容
 
(4)添加Boolean对象
Boolean labelB = new Boolean(0,2,false);
ws.addCell(labelB);
 
(5)添加DateTime对象
DateTime labelDT = new DateTime(0,3,new java.util.Date());
ws.addCell(labelDT);
DateTime()方法的参数说明
前两个表示输入的位置
第三个表示输入的当前时间
 
(6)添加带有formatting的DateFormat对象
这个显示当前时间的所有信息,包括年月日小时分秒
DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(df);
DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
ws.addCell(labelDTF);
 
(7)添加带有字体颜色Formatting的对象
WritableFont wfc = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
 
import="jxl.format.*
WritableFont wfc = new WritableFont(WritableFont.ARIAL,20,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);
 
(8)设置单元格样式
 
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
wcfFC.setBackGround(Colour.RED);//设置单元格的颜色为红色
wcfFC = new Label(6,0,"I love china",wcfFC);
 
最简单的程序示例:
 
package beans;
import java.io.*;
import java.util.Vector;
 
import javax.servlet.ServletException;
 
import net.iyun.util.LocaleConvert;
 
import jxl.*;
import jxl.write.*;
 
public class GongdanExcel
{
   
    public static void main(String args[]) throws FileNotFoundException, ServletException{
       //调试地址,正式使用时放在服务器上
       OutputStream os = new FileOutputStream("c:\\test.xls");
       writeExcel(os);
    }
   
     public static void writeExcel(OutputStream os) throws ServletException
     {
        try
        {
           
            WritableWorkbook wwb = Workbook.createWorkbook(os);
            //创建Excel工作表 指定名称和位置
            WritableSheet ws = wwb.createSheet("test",0);
 
            //**************往工作表中添加数据*****************
                     
           for(int i=0;i<10;i++){
              for(int j=0;j<10;j++){
              Label label = new Label(i,j,i+j);
              ws.addCell(label);
}
           }
                       //写入工作表
            wwb.write();
            wwb.close();
        }
        catch(Exception e)
        {
           throw new ServletException(e);
        }
     }
}
 
这样文件就生成了,想看的时候只需要下载到本地就可以了。

使用java写入excel文件

原文:http://www.cnblogs.com/duanxz/p/4875153.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!