用java程序将数据写入到Excel中

/*
*你需要导入一个架包,这只是个测试笔记。
*/
package excelwritedemo;

/**
 * Created by river on 15-4-11.
 */
import java.io.*;
import java.net.URL;
import java.util.*;
import jxl.*; //Excel 的架包文件
import jxl.format.*;
import jxl.format.Alignment;
import jxl.format.Colour;
import jxl.write.*;//架包中的写入

public class ExcelWriteDemo {
    public static void main(String[] args){
       try{
           File file = new File("myexcel.xls");//第一步 创建一个可以写入的Excel文件
           WritableWorkbook workbook = Workbook.createWorkbook(file);//Workbook 是一个静态方法,直接可以通过类名调用
           //上一步是创建一个可以写入的.xls文件
           WritableSheet sheet = workbook.createSheet("ID Card", 0);//用工作簿创建一个工作表(可以创建多个工作表)
           //可以设置一些工作表的属性
           /**
            *  行高,列宽, 字体
            */
           sheet.setColumnView(0, 20);//设置列宽
           sheet.setColumnView(1, 20);
           sheet.setColumnView(2, 20);
           sheet.setColumnView(5, 50);
           sheet.setRowView(0, 400);//设置行高
           sheet.setRowView(1, 300);
           sheet.setRowView(2, 300);
           /*
            * 设置格式(如黑体,宋体...), 字体大小,加粗, 倾斜, 下划线, 颜色
            */
           WritableFont wf = new WritableFont(WritableFont.ARIAL, //设置字体
                   14,//字体大小
                   WritableFont.NO_BOLD, //加粗
                   false,//字体倾斜
                   UnderlineStyle.NO_UNDERLINE, //下划线
                   Colour.BLUE);//颜色
           WritableCellFormat wcf = new WritableCellFormat(wf);//将字体的设置加入到单元格的属性中
           wcf.setBackground(Colour.YELLOW);//设置单元格背景
           wcf.setAlignment(Alignment.CENTRE);//设置单元格的对齐方式
           //第二步是创建一个或一些可以写入的工作表
           //接下来是设置表头,及设置单元格
           //Label的构造函数是 Label(int column, int row, String str);
           Label label0 = new Label(0, 0, "ID Card", wcf);
           Label label1 = new Label(1, 0, "Time", wcf);
           Label label2 = new Label(2, 0, "User", wcf);
           Label label3 = new Label(3, 0, "存款余额", wcf);
           Label label4 = new Label(4, 0, "银行利率", wcf);
           Label label5 = new Label(5, 0, "Thangk you for your coming!", wcf);
           //将上面的内容加载到Sheet(工作表中)
           sheet.addCell(label0); //普通字符串不需要设置格式
           sheet.addCell(label1);
           sheet.addCell(label2);
           sheet.addCell(label3);
           sheet.addCell(label4);
           sheet.addCell(label5);
           //格式化日期
           DateFormat df = new DateFormat("yyyy-MM-dd hh:mm:ss");
           WritableCellFormat wcfDF = new WritableCellFormat(df);

           //格式化数字
           NumberFormat nf = new NumberFormat("#.###");
           WritableCellFormat wcfN = new WritableCellFormat(nf);
           //使用上述日期和数字格式,添加第二行数据
           Label cardID1 = new Label(0,1, "5646");
           Label cardID2 = new Label(0,2, "8983");
           sheet.addCell(cardID1); //将数据添加到工作表中
           sheet.addCell(cardID2);//将数据添加到工作表中
           DateTime  dateTime1 = new DateTime(1, 1, new GregorianCalendar(2009, 11, 31).getTime(), wcfDF);
           DateTime  dateTime2 = new DateTime(1, 2, new GregorianCalendar(2014, 12, 23).getTime(), wcfDF);
           sheet.addCell(dateTime1);
           sheet.addCell(dateTime2);
           Label  user1 = new Label(2, 1, "World");
           Label  user2 = new Label(2, 2, "Hello");
           sheet.addCell(user1);
           sheet.addCell(user2);
           jxl.write.Number balance1 = new jxl.write.Number(3, 1, 1000, wcfN);
           jxl.write.Number balance2 = new jxl.write.Number(3, 2, 2000, wcfN);
           sheet.addCell(balance1);
           sheet.addCell(balance2);
           jxl.write.Number lilv = new jxl.write.Number(4, 1, 9.45, wcfN);
           sheet.addCell(lilv);
           /*
            *合并单元格
            */
           sheet.addCell(new Label(0, 3, "合并单元格", wcf));
           sheet.addCell(new Label(0, 4, "测试1"));
           sheet.addCell(new Label(1, 4, "测试2"));
           sheet.addCell(new Label(2, 4, "测试3"));
           sheet.mergeCells(0, 3, 2, 3);
           /*
            *增加链接
            */
           sheet.addCell(new Label(0, 5, "excel连接测试",wcf));
           sheet.mergeCells(0, 6, 3, 6);
           WritableHyperlink link = new WritableHyperlink(0, 6, new URL("http://www.baidu.com"));
           link.setDescription("链接使用, 连接到百度");
           sheet.addHyperlink(link);
           //以上是对表的设置,接下要将以上数据写入到工作表中,
           workbook.write(); //真正的写入数据在xls中
           workbook.close();//关闭对象,释放资源
           System.out.println("数据写入完毕");

       }catch(Exception ex){
           ex.printStackTrace();//输出异常
           System.out.println(ex);
       }
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值