`
jia106329
  • 浏览: 60627 次
  • 性别: Icon_minigender_2
  • 来自: tj
社区版块
存档分类
最新评论

用jexcel读写excel的.xls文件的例子

阅读更多
出处:http://www.blogjava.net/ilovezmh/archive/2007/02/06/98270.html

有时候我们会需要做excel的报表,下面这个例子详细的给出了读写及定义样式的方法。
(jexcel下载)
package com.test;

import java.io.File;
import java.io.IOException;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

/**
 *
 * CopyRight (C) www.blogjava.net/ilovezmh  All rights reserved.<p>
 *
 * WuHan Inpoint Information Technology Development,Inc.<p>
 *
 * Author zhu<p>
 *
 * @version 1.0    2007-2-6
 *
 * <p>Base on : JDK1.5<p>
 *
 */

public class JexcelSample {
 
 /**
  * 写excel文件
  *
  */
 public void writeExc(File filename){
  WritableWorkbook wwb = null;
  try
  {
   wwb = Workbook.createWorkbook(filename);   
  }
  catch (Exception e){
   e.printStackTrace();
  }
  
  //创建Excel工作表
  WritableSheet ws = wwb.createSheet("通讯录", 0);//创建sheet
  try {
   ws.mergeCells(0, 0, 2, 1);//合并单元格(左列,左行,右列,右行)从第1行第1列到第2行第3列
   Label header = new Label(0, 0, "通讯录(191026班)", getHeader());
   ws.addCell(header);//写入头
   Label l = new Label(0, 2, "姓名", getTitle());//第3行
   ws.addCell(l);
   l = new Label(1, 2, "电话", getTitle());
   ws.addCell(l);
   l = new Label(2, 2, "地址", getTitle());
   ws.addCell(l);
   l = new Label(0, 3, "小祝", getNormolCell());//第4行
   ws.addCell(l);
   l = new Label(1, 3, "1314***0974", getNormolCell());
   ws.addCell(l);
   l = new Label(2, 3, "武汉武昌", getNormolCell());
   ws.addCell(l);
   l = new Label(0, 4, "小施", getNormolCell());//第5行
   ws.addCell(l);
   l = new Label(1, 4, "1347***5057", getNormolCell());
   ws.addCell(l);
   l = new Label(2, 4, "武汉武昌", getNormolCell());
   ws.addCell(l);
   ws.setColumnView(0,20);//设置列宽
   ws.setColumnView(1,20);
   ws.setColumnView(2,40);
   ws.setRowView(0,400);//设置行高
   ws.setRowView(1,400);
   ws.setRowView(2,500);
   ws.setRowView(3,500);
   ws.setRowView(4,500);
  } catch (RowsExceededException e1) {
   e1.printStackTrace();
  } catch (WriteException e1) {
   e1.printStackTrace();
  }
  
  //输出流
  try {
   wwb.write();
  } catch (IOException ex) {
   // TODO 自动生成 catch 块
   ex.printStackTrace();
  }
  //关闭流
  try {
   wwb.close();
  } catch (WriteException ex) {
   // TODO 自动生成 catch 块
   ex.printStackTrace();
  } catch (IOException ex) {
   // TODO 自动生成 catch 块
   ex.printStackTrace();
  }
  //outStream.close();
  System.out.println("写入成功!\n");
 }
 
 public void readExc(File filename) throws BiffException, IOException{

    Workbook wb = Workbook.getWorkbook(filename);
    Sheet s = wb.getSheet(0);//第1个sheet
    Cell c = null;
    int row = s.getRows();//总行数
    int col = s.getColumns();//总列数
    for(int i=0;i<row;i++){
     for(int j=0;j<col;j++){
      c = s.getCell(j,i);
      System.out.print(c.getContents()+"  ");
     }
     System.out.println();
    }  
 }
 
 /**
  * 设置头的样式
  * @return
  */
 public static WritableCellFormat getHeader(){
  WritableFont font = new  WritableFont(WritableFont.TIMES, 24 ,WritableFont.BOLD);//定义字体
  try {
   font.setColour(Colour.BLUE);//蓝色字体
  } catch (WriteException e1) {
   // TODO 自动生成 catch 块
   e1.printStackTrace();
  }
  WritableCellFormat format = new  WritableCellFormat(font);
  try {
   format.setAlignment(jxl.format.Alignment.CENTRE);//左右居中
   format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中
   format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);//黑色边框
   format.setBackground(Colour.YELLOW);//黄色背景
  } catch (WriteException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  }
  return format;
 }
 
 /**
  * 设置标题样式
  * @return
  */
 public static WritableCellFormat getTitle(){
  WritableFont font = new  WritableFont(WritableFont.TIMES, 14);
  try {
   font.setColour(Colour.BLUE);//蓝色字体
  } catch (WriteException e1) {
   // TODO 自动生成 catch 块
   e1.printStackTrace();
  }
  WritableCellFormat format = new  WritableCellFormat(font);
  
  try {
   format.setAlignment(jxl.format.Alignment.CENTRE);
   format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
   format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
  } catch (WriteException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  }
  return format;
 }
 
 /**
  * 设置其他单元格样式
  * @return
  */
 public static WritableCellFormat getNormolCell(){//12号字体,上下左右居中,带黑色边框
  WritableFont font = new  WritableFont(WritableFont.TIMES, 12);
  WritableCellFormat format = new  WritableCellFormat(font);
  try {
   format.setAlignment(jxl.format.Alignment.CENTRE);
   format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
   format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
  } catch (WriteException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  }
  return format;
 }
 
 public static void main(String[] args) throws IOException, BiffException{
  JexcelSample js = new JexcelSample();
  File f = new File("D:\\address.xls");
  f.createNewFile();
  js.writeExc(f);
  js.readExc(f);
 }

}
分享到:
评论
1 楼 clfsw0201 2008-12-23  
真不错,挺全的,懒得看jxl的doc了,先拿来用。谢啦……

相关推荐

    jxls-jexcel-1.0.6.jar

    jxls-jexcel-1.0.6.jar java读取excel文件的jarjxls-jexcel-1.0.6.jar

    类似Excel的jquery电子表格插件jExcel.js.zip

    类似Excel的jquery电子表格插件jExcel.js.zip 类似Excel的jquery电子表格插件jExcel.js.zip 类似Excel的jquery电子表格插件jExcel.js.zip

    jexcel-2.6.6.jar

    jexcel-2.6.6.jar。。。。。。。。。。。。。。。。

    jexcel 导出excel文件的demo

    jexcel导出excel文件的demo。版本是6.120.包括读取excel,创建新excel,复制excel三个,其中创建excel又分为普通信息,数字,时间,格式化信息,格式化数值,格式化时间等等,有设置单元格大小,单元格样式,单元格...

    jexcel+api.rar

    java 处理excel工具,用于读取Excel内容,并进行必要的处理-java processing excel tool for Excel to read the content and the necessary processing

    jexcel 资源包下载 当前js版本为 v4.10.1

    可以从excel复制并直接粘贴到jExcel CE电子表格,反之亦然。 很容易集成任何第三方JavaScript插件来创建您自己的自定义列、自定义编辑器,并在应用程序中自定义任何特性。 jexcelce通过其本机列类型有很多不同的输入...

    jexcel-1.3.jar

    方面Javasqing对表格的操作,支持隔行变色

    使用JAVA通过JXL(JExcel)动态生成Excel文件.doc

    使用JAVA通过JXL(JExcel)动态生成Excel文件

    jExcel学习帮助文档

    jExcel学习,如果在你的项目中需要解析 Excel 文件,比如,作为用户上传的模板进行解析。那么选择 jExcel 将是一个不错的决定!虽然 Apache 的 Commons 开源组件包 POI 也能完成相同的功能,但 jExcel 小巧、对中文...

    jexcel java操作excel

    Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的...

    jexcel.zip

    jexcel.js是一款轻量级的类似Excel的jquery电子表格插件。你可以同js数组、json数据或CSV文件来为jexcel表格提供数据,你甚至可以直接从一个Excel表格中直接复制粘贴数据到jexcel表格中。

    JExcel的.Net实现

    Java开源Excel读写库JExcel的.Net实现,在JExcel基础上改写,可以不需要Excel程序就能读写Excel文件。

    jexcel:jExcel是一个轻量级的香草javascript插件,可以创建与Excel或任何其他电子表格软件兼容的基于Web的惊人的交互式表格和电子表格。

    是一个轻量级的Vanilla JavaScript插件,可创建与Excel或任何其他电子表格软件兼容的基于Web的惊人的交互式HTML表格和电子表格。 您可以从JS数组,JSON,CSV或XSLX文件创建在线电子表格表格。... 使用jExcel CE JavaS

    前端项目-jexcel.zip

    前端项目-jexcel.zip

    jexcel-master

    它的那么容易的工作与Excel试算表在Java中使用jexcel 。与jexcel图书馆,您可以与工作簿文件(将XLS , xlsx ) ,作业簿,电子表格,工作或什至特定范围的细胞在Java应用程序。修改细胞的价值观,细胞数量的格式,...

    jexcel所需jar包

    Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。

    JExcel java操作excel

    很好的excel示例 java操作excel实现文件的读取,及数据库数据保存到excel等相关功能

    jExcel-类似Excel的jquery电子表格插件

    jexcel.js是一款轻量级的类似Excel的jquery电子表格插件。你可以同js数组、json数据或CSV文件来为jexcel表格提供数据,你甚至可以直接从一个Excel表格中直接复制粘贴数据到jexcel表格中。

Global site tag (gtag.js) - Google Analytics