`
jia106329
  • 浏览: 62005 次
  • 性别: 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-1.3.jar

    该库不仅支持基本的表格操作,如添加、删除和编辑单元格数据,还提供了高级功能,例如自定义样式、公式计算以及导入导出Excel文件等。 2. **隔行变色功能** 隔行变色是jExcel的一个亮点,它能够自动地为表格中的行...

    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通过其本机列类型有很多不同的输入...

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

    JExcel API(简称JXL)是一个流行的开源库,允许开发者使用Java动态创建、读取和修改Excel文件。以下是对如何使用JExcel API创建Excel文件的详细步骤和相关知识点的介绍。 首先,你需要从JExcel API的官方站点或者...

    JExcel java操作excel

    这个教程可能是为了介绍如何使用JExcel API来实现对Excel文件的基本操作,如读取数据、写入数据以及将数据库中的数据保存到Excel。 首先,我们需要理解JExcel API的基本概念。它提供了多个接口和类,如Workbook、...

    jexcel.zip

    《使用jExcel实现前端Excel解析与多Sheet页切换》 在现代Web开发中,数据的交互和展示方式越来越多样化,其中Excel作为一种常见的数据格式,其灵活性和强大的功能使其在数据处理中占据重要地位。jExcel是一款优秀的...

    JEXCEL.jar

    JExcelApi是一个广泛使用的开源Java库,支持读取和写入Excel 97-2003格式(.xls)的文件,但不支持较新的Excel 2007+的OpenXML格式(.xlsx)。通过这个库,开发者可以直接操作Excel工作表,获取或设置单元格值,处理...

    jExcel学习帮助文档

    jExcel 是一个轻量级的Java库,专门用于解析和处理Excel文件。相较于Apache POI,jExcel具有更小的体积和更好的中文支持,使其成为处理用户上传的Excel模板的理想选择。这个库的核心功能被封装在8个主要的文件中,...

    jexcel-1[1].3.zip

    jexcel-1.3.zip很可能包含了兼容这些新格式的功能,使得开发者或用户能够读取、写入、编辑或分析Office 2007的Word和Excel文件,而无需依赖完整的Microsoft Office套件。 【标签】"操作office2007系列" 进一步强调...

    Java处理Excel的Jar包-JExcel

    JExcel是一个流行的开源库,它为Java开发者提供了一种便捷的方式来读写Microsoft Excel文件(.xls格式)。这个库的核心是jxl.jar,它是JExcel的主要组件,包含了处理Excel文件所需的所有类和方法。 **JExcel核心...

    JExcel / 小试牛刀

    通过分析这个JExcelOperate.java文件,你可以学习到如何在实际项目中使用JExcel库进行Excel文件的读写操作,这对于处理数据导入导出、数据分析或自动化任务非常有用。此外,你还可以扩展这些基础功能,实现更复杂的...

    前端项目-jexcel.zip

    jExcel库提供了类似Excel的功能,如数据输入、排序、过滤、计算等,同时支持单元格格式化和自定义公式。它能够无缝地与HTML表格结合,使得前端开发者无需依赖复杂的后端或大型框架就能实现数据管理和编辑功能。此外...

    jxls 读写Excel

    首先,Apache POI是Java社区广泛使用的用于处理Microsoft Office格式文档的库,特别是HSSF(处理老版的.xls文件)和XSSF(处理.xlsx文件)。然而,POI虽然功能强大,但在处理复杂的模板和动态数据时,代码会变得复杂...

    jexcel java操作excel

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

    JAVA读取Excel

    对于.xls文件,我们可以使用Apache POI库,它是一个成熟的API,支持对Microsoft Office格式的文件进行读写操作。对于.xlsx文件,由于其基于XML,所以可以使用Java的JAXB或者Apache POI的XSSF API来处理。 然而,本...

Global site tag (gtag.js) - Google Analytics