/* *你需要导入一个架包,这只是个测试笔记。 */ 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); } } }