`

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

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

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

    jexcel 导出excel文件的demo

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

    JExcel的.Net实现

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

    JExcel 实用指南

    JExcel 实用指南(英),实用开发指南

    JExcel2.0-API

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

    jxls-jexcel-1.0.6.jar

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

    jexcel-master

    jexcel (衍生金融工具从Java和Excel )图书馆提供了一个有效的方法,整合到以MS Excel的Java应用得如火如荼。您可以轻松地读,写,创建,修改或展示女士Excel工作簿使用一个全面的Java Excel中的空气污染指数。它的...

    jExcel实现

    jExcel具体实现

    JExcel-1.7

    jexcel-1.7-windows-32_64-bit,JExcel 1.7版本,支持32和64位。

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

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

    jexcel.zip

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

    jexcel java操作excel

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

    jexcel所需jar包

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

    jexcel-1.3.jar

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

    jexcel+api.rar

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

    JExcel / 小试牛刀

    NULL 博文链接:https://crazyidea.iteye.com/blog/455530

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

    您可以从excel复制并直接粘贴到jExcel CE电子表格,反之亦然。 集成任何第三方JavaScript插件来创建您自己的自定义列,自定义编辑器,以及将任何功能自定义到您的应用程序中都是非常容易的。 jExcel CE通过其本机列...

    jexcel-1.8-windows-32_64-bit.zip_Java 8_jexcel

    The JExcel library allows Java programmers for Windows to easily create, modify or display Microsoft Excel files.

    Excel报表生成工具---JExcel

    Excel报表生成工具,能根据你的需要生成Excel和编辑现有的Excel报表,本压缩包包含了JAR包和AIP帮助文档.

Global site tag (gtag.js) - Google Analytics