`

java_Excel jxl 操作Excel文件(读取,创建,更新)

    博客分类:
  • JXL
阅读更多

首先网上搜索了一些文章,现在java操作excel比较多的使用jxl与POI。

 

前者比较轻便,更有针对性,但是功能不够强大。

 

有人已经使用代码测试过了,详情见:http://sunjun041640.blog.163.com/blog/static/256268322008525113505/

 

POI还没用过,先弄个jxl的简单操作Excel供大家参考。

 

package excelFile;

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

import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.read.biff.BiffException;
import jxl.write.*;
import jxl.write.Boolean;
import jxl.write.Number;
import jxl.write.biff.RowsExceededException;

public class TestJlxFuction {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		readExl("d:/test/wbook.xls");
		creatExl("d:/test/writebook.xls");
		modifyExl("d:/test/writebook.xls");
	}

	
	private static void creatExl(String fileName)
	{
		WritableWorkbook wwb = null;
		try {
			wwb = Workbook.createWorkbook(new File(fileName));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		WritableSheet ws = wwb.createSheet("第1页", 1);
		
		/**
		 *下面的格式设置出自: http://javacrazyer.iteye.com/blog/723924
		 */
		 //**************往工作表中添加数据***************** 

        //1.添加Label对象 
        Label label = new Label(0,0,"this is a label test"); 
        try {
			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 a 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 jxl.write.Boolean(0,2,false); 
        ws.addCell(labelB); 

        //4.添加DateTime对象 
        jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date()); 
        ws.addCell(labelDT); 

        //添加带有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); 


        //添加图片对象,jxl只支持png格式图片 
        File image = new File("f:\\2.png"); 
        WritableImage wimage = new WritableImage(0,1,2,2,image); 
        ws.addImage(wimage); 
        } catch (RowsExceededException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (WriteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		try {
			wwb.write();
			try {
				wwb.close();
			} catch (WriteException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	/**
	 * 读取excel中的信息
	 * 通过获取row与column进行遍历
	 */
	private static void  readExl(String fileName)
	{
		Workbook book = null;
		Sheet [] sheets = null;
		Sheet sheet0 = null;
		try {
			try {
				book = Workbook.getWorkbook(new File(fileName));
			} catch (BiffException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			sheets = book.getSheets();
			sheet0 = sheets[0];
			
			/*
			 * 可以通过两层循环的方式遍历获取excel中的数据
			 */
			int rowNum = sheet0.getRows();
			int colNum = sheet0.getColumns();
			
			System.out.println("Rows :" + rowNum);
			System.out.println("Columns :" + colNum);
		
			for(int r = 0; r < rowNum; r++)
			{
				for(int c = 0; c < colNum; c++)
				{
					//注意getCell 参数1为列标,参数2二行标
					Cell cell = sheet0.getCell(c, r);
					String value = cell.getContents();
					System.out.println(value);
				}
			}

			book.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 更新Excel内容
	 * 采用copy的方式创建book进行操作
	 */
	
	public static void modifyExl(String fileName)   
	  {   
      try   
      {   
          Workbook rwb = Workbook.getWorkbook(new File(fileName));   
          //打开一个文件的副本,并且指定数据写回到原文件        
          WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName),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();   
      } 	  
   }   

}
 
分享到:
评论

相关推荐

    Java_Excel_API_jxl_.rar_excel java_java excel

    Java_Excel_API_jxl是用于处理Excel文件的一个流行库,它允许开发者以编程方式创建、读取和修改Excel文件。本篇文章将深入探讨如何使用jxl API进行Java与Excel的交互,并提供jxl.jar的下载信息。 一、jxl简介 jxl是...

    ExcelDemo_Excel导出_下载_POI读excel_JXL读写excel_java读写excel_列宽_读取合并或拆分单元格内容

    本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...

    jxl.zip_excel_jxl_jxl.biff.drawing.dg_jxl.biff.drawingdg

    JXL库作为一个强大的工具,为Java开发者提供了方便快捷的方式来读取、写入和操作Excel文件。本文将深入探讨JXL库的核心功能及其在解析Excel文件中的应用。 首先,让我们明确一下标题"jxl.zip_excel_jxl_jxl.biff....

    java利用jxl读取excel文件

    在Java编程环境中,读取Excel文件是常见的任务,特别是在数据处理和分析的场景下。`jxl`库是一个广泛使用的第三方库,它允许开发者轻松地读取、写入和修改Excel文件。本篇文章将深入探讨如何利用`jxl.jar`包来实现这...

    jexcelapi_2_6_2 java 读取excel java操作excel jxl API

    这个库允许Java开发者方便地读取、写入和操作Excel文件,特别是老版本的.xls格式。本文将详细探讨如何使用JExcelAPI进行Excel操作,并提供相关的代码示例。 首先,JExcelAPI提供了对Excel工作簿(Workbook)、工作...

    jxl(java_excel_jxl_oracle_imp_exp_使用全攻略).txt

    综上所述,JXL库为Java开发者提供了一个高效、灵活的工具集,用于处理Excel文件的各种需求,包括创建、读取、更新文件以及高级的单元格格式化。掌握JXL的使用方法,无疑能显著提升项目中数据处理的效率和质量。

    Java操作Excel(jxl.jar)

    总结来说,jxl.jar库是Java操作Excel的一个实用工具,它提供了丰富的API来读取、修改和创建Excel文件。通过熟练掌握这个库,开发者可以方便地在Java应用程序中集成Excel相关的功能,进行数据处理和报告生成等工作。...

    api.rar_java flash_jxl_jxl api

    1. **JXL**:JExcelApi(通常简称为JXL)是用于读取、写入和修改Excel文件的Java库。它支持多种Excel功能,包括单元格样式、公式、图像、布尔值、日期、数字等。JXL通过提供简单易用的API,使得Java开发者能够方便地...

    java使用jxl打印excel报表文件

    JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...

    java_Jxl(导入导出Excel)

    该库允许开发者以纯 Java 的方式创建、读取和修改 Excel 文件,无需依赖于 Windows 操作系统或 Office 应用程序。本文将详细介绍 Jxl 的主要功能及其基本使用方法。 #### 主要特性 - **支持多种 Excel 版本**:Jxl...

    java_jxl导入导出

    Java JXL库是一个广泛使用的Java库,用于读取和写入Microsoft Excel文件。这个库使得在Java应用程序中处理Excel数据变得简单,无论是导入数据到程序中进行分析,还是导出程序结果到Excel文件供用户查看或进一步处理...

    jxl开发包(java_excel)

    这个"jxl开发包(java_excel)"包含了处理Excel文件所需的全部组件,包括核心库、API文档以及示例代码,为Java程序员提供了方便的接口来操作Excel数据。 在Java中,JExcelApi主要提供了以下功能: 1. **读取Excel...

    java_Jxl(导入导出Excel).pdf

    Java Jxl库是一个强大的工具,用于在Java应用程序中处理Microsoft Excel文件。它支持从Excel 95到2000的所有版本,同时也允许生成Excel 2000标准格式的文件。Jxl的主要特点包括对字体、数字、日期的操作,单元格属性...

    java读取excel文件

    2. Excel 文件操作:Excel 文件操作是指使用 Java 语言对 Excel 文件进行读取、写入、删除等操作的过程。 3. JXL 库:JXL 库是指 Java Excel API,即 Java 语言对 Excel 文件的操作 API。 4. Workbook:Workbook 是...

    Java_Jxl开发.doc

    jExcelAPI(jxl)是一个用于读写Microsoft Excel文件的纯Java库。它支持Excel 95-2000的所有版本,并能生成Excel 2000的标准格式。此外,jxl还支持多种特性,包括但不限于: - **字体、数字和日期操作**:允许用户...

    利用jxl操作excel文件

    `jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件(.xls格式)。本篇将详细介绍如何利用`jxl`库来操作Excel文件,并结合实例说明如何从Excel文件中提取数据并生成TXT文件。 首先,我们需要...

    JXL_API.rar_jxl_jxl api_jxl api chm_jxl help

    JXL API就是这样一款强大的Java库,它提供了对Excel文件的读写功能,让开发者能够轻松地在Java应用中操作Excel。 JXL API全称为Java Excel API,是专门针对Java平台设计的,用于处理Excel文件的开源库。它的主要...

    java poi jxl 操作excel的小例子

    总之,Java POI 和 JXL 是处理Excel文件的强大工具,无论是在读取、写入还是修改数据方面都有很好的支持。通过学习和实践这些库,你可以轻松地在Java应用程序中集成Excel功能。在这个压缩包中的 "JAVA_Excel" 文件...

Global site tag (gtag.js) - Google Analytics