`

jExcel

 
阅读更多

Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该APIWindows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSPServlet来调用API实现对Excel数据表的访问。

先倒入jxl.jar文件

以下是一个静态的测试类

package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;

import jxl.Cell;
import jxl.CellType;
import jxl.LabelCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.Boolean;
import jxl.write.DateFormat;
import jxl.write.DateTime;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.NumberFormat;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class excelHandle {
 /**
  * 读取Excel
  * @param filePath
  */
 public static void readExcel(String filePath){
  try {
   InputStream is = new FileInputStream(filePath);
   Workbook rwb = Workbook.getWorkbook(is);
   Sheet st = rwb.getSheet(0);
   Cell c00 = st.getCell(0, 0);
   Cell c01 = st.getCell(0, 1);
   Cell c10 = st.getCell(1, 0);
   //通用的获取cell值的方法,返回字符串
   String strc00 = c00.getContents();
   String strc01 = c01.getContents();
   String strc10 = c10.getContents();
   //获取cell具体类型值的方法
   if(c00.getType() == CellType.LABEL){
    LabelCell labelc00 = (LabelCell)c00;
    strc00 = labelc00.getString();
   }
   //输出
   System.out.println(strc00);
   System.out.println(strc01);
   System.out.println(strc10);
   //关闭
   rwb.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
  
 }
 
 /**
  * 输出Excel
  * @param os
  */
 public static void writeExcel(OutputStream os){
  try {
   WritableWorkbook wwb = Workbook.createWorkbook(os);
   //创建Excel工作表,指定名称和位置
   WritableSheet ws = wwb.createSheet("test sheet 1", 0);
   //往工作表中添加数据
   
   //添加label对象
   Label label = new Label(0,0,"this is  a label test");
   ws.addCell(label);
   
   //添加带有字型Formatting对象
   WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);
   WritableCellFormat wcf = new WritableCellFormat(wf);
   Label labelcf = new Label(1,0,"this is l label test",wcf);
   ws.addCell(labelcf);
   
   //添加带有字体颜色的Formatting对象
    WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,
                     UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
             WritableCellFormat wcfFC = new WritableCellFormat(wfc);
             Label labelCF = new Label(1,0,"This is a Label Cell",wcfFC);
             ws.addCell(labelCF);
            
            
           //2.添加Number对象
             Number labelN = new Number(0, 1, 3.1415926);
             ws.addCell(labelN);
            
           //添加带有formatting的Number对象
             NumberFormat nf = new NumberFormat("#.##");
             WritableCellFormat wcfN = new WritableCellFormat(nf);
             Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
             ws.addCell(labelNF);
            
             //3.添加Boolean对象
             Boolean labelB = new Boolean(0,2,false);
             ws.addCell(labelB);
            
             //4.添加DateTime对象
             DateTime labelDT = new DateTime(0,3,new Date());
            
             //添加带有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);
            
             //写入工作表
             wwb.write();
             wwb.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

/**
      *
拷贝后,进行修改,其中file1为被copy对象,file2为修改后创建的对象
      *
尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,
      *
以使单元格的内容以不同的形式表现
      * @param file1
      * @param file2
      */
     public static void modifyExcel(File file1,File file2)
     {
         try
         {
             Workbook rwb = Workbook.getWorkbook(file1);
             WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy
             WritableSheet ws = wwb.getSheet(0);
             WritableCell wc = ws.getWritableCell(0,0);
             //
判断单元格的类型,做出相应的转换
             if(wc.getType == CellType.LABEL)
             {
                 Label label = (Label)wc;
                 label.setString("The value has been modified");
             }
             wwb.write();
             wwb.close();
             rwb.close();
         }
         catch(Exception e)
         {
             e.printStackTrace();
         }
     }


 
 //测试
 public static void main(String[] args) {
  //读Excel
  //excelHandle.readExcel("f:/1.xls");
  
  //输出Excel
  
  try {
   File fileWrite = new File("f:/exl1.xls");
   fileWrite.createNewFile();
   OutputStream os = new FileOutputStream(fileWrite);
   excelHandle.writeExcel(os);
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 

}

分享到:
评论

相关推荐

    jExcel学习帮助文档

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

    JExcel的.Net实现

    JExcel是一款在Java平台上知名的开源库,主要用于处理Excel文件的读写操作。它以其轻量级、高效和易用性而受到开发者们的欢迎。然而,有时开发者可能需要在.NET环境中使用类似的功能,因此出现了JExcel的.NET实现。...

    jexcel-1.3.jar

    《jExcel-1.3.jar:Java Swing中的表格操作与隔行变色功能》 在Java编程领域,Swing库提供了丰富的组件用于构建图形用户界面(GUI),其中表格组件是不可或缺的一部分。jExcel是一个强大的开源库,专为Java开发者...

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

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

    JExcel 实用指南

    ### JExcel实用指南知识点解析 #### 一、引言与概述 **JExcel** 是一个强大的Java库,用于处理Excel文件。它为开发者提供了一系列工具和API,使得在Java应用程序中创建、读取、编辑Excel文件变得简单。该实用指南...

    JExcel / 小试牛刀

    标题中的“JExcel / 小试牛刀”表明这是一个关于使用JExcel库进行电子表格操作的实践案例。JExcel是一个Java库,它允许开发者在Java应用程序中读取、写入和修改Excel文件,极大地简化了与Excel数据交互的工作。在这...

    jexcel 导出excel文件的demo

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

    Java处理Excel的Jar包-JExcel

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

    jExcel是一个轻量级的javascript插件用于创建与Excel兼容并基于Web的交互式表格和电子表格

    jExcel是一款专为Web开发者设计的轻量级javascript插件,其主要目标是提供与Microsoft Excel高度兼容的在线表格功能。这款插件以其简洁、高效和易于集成的特点,深受前端开发者的喜爱。在本文中,我们将深入探讨...

    JExcel-1.7

    **JExcel 1.7 知识点详解** JExcel 是一个强大的开源Java库,它允许开发者在Java应用程序中创建、编辑和展示电子表格。这个工具特别适合那些需要处理大量数据,或者希望提供类似Microsoft Excel的功能给用户的应用...

    jExcel实现

    ### jExcel实现与Java Excel API详解 #### 一、引言 随着互联网技术的发展,越来越多的应用程序需要在Web端处理Excel文件。对于开发者而言,如何高效地读取、写入Excel文件成为了一项重要的技能。Java作为一种广泛...

    jexcel.zip

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

    Excel报表生成工具---JExcel

    【标题】"Excel报表生成工具---JExcel"是一款专门用于创建和编辑Excel电子表格的Java库,它使得在编程环境中生成动态报表变得简单易行。JExcelAPI是这个工具的核心,它提供了丰富的功能,允许开发者通过代码直接操作...

    JExcel2.0-API

    JExcel2.0的API文档 自己根据官方文档制作,供有兴趣的朋友分享

    jexcel-master

    《jExcel:前端Excel操作详解》 在现代Web开发中,数据展示与操作是一个不可或缺的部分,尤其是在处理表格数据时。jExcel是一款强大的JavaScript库,它允许开发者在前端实现类似Excel的功能,提供用户友好的交互...

    jxls-jexcel-1.0.6.jar

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

    JEXCEL.jar

    标题 "JEXCEL.jar" 指向的是一个Java库,专门用于处理Excel文件。这个API使得Java开发者能够轻松地读取、写入以及操作Excel数据。在Java中,这样的库通常提供了丰富的功能,比如创建新的工作簿、修改现有工作表、...

    JExcel_API_2_6_12

    **JExcel API 2.6.12:Java与Excel交互的强大工具** JExcel API 是一个流行的开源Java库,用于读取、写入和修改Microsoft Excel文件。版本2.6.12是这个库的一个稳定版本,提供了丰富的功能来处理Excel数据。在Java...

Global site tag (gtag.js) - Google Analytics