`
sinye
  • 浏览: 219244 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jxl读写excel

    博客分类:
  • java
阅读更多

最近在搞报表类的东西,天天接触的最多的就是word或者excel,以前也常做,为了避免以后忘掉,因此还是记录下来最好。使用jxl这个组件来操作excel非常的方便,将它的一些基本操作写下来,希望对同样搞这方面的朋友有帮助!

jxl读取excel代码

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class ExcelImporter
{

	/**
	 * @Function     //函数、方法名称
	 * @Description  //测试excell表格
	 * @Input        //输入参数的说明
	 * @Output       //输出参数的说明
	 * @Return       //函数返回值的说明
	 * @Others       //其它说明
	 */
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		List<String> list = new ArrayList<String>();
		String filePath = "C:/sinye.xls";
		InputStream fs = null;
	                Workbook workBook = null;
	    
	    try {
	        // 加载excel文件
	        fs = new FileInputStream(filePath);
	        // 得到 workbook
	            workBook = Workbook.getWorkbook(fs);
	       } catch (FileNotFoundException e) {
	    	   e.printStackTrace();
	       } catch (BiffException e) {
	    	   e.printStackTrace();
	       } catch (IOException e) {
	    	   e.printStackTrace();
	       }
 
	          // 取得sheet,如果你的workbook里有多个sheet 可以利用 wb.getSheets()方法来得到所有的。
	       // getSheets() 方法返回 Sheet[] 数组 然后利用数组来操作。就是多次循环的事。
	       Sheet sheet = workBook.getSheet(0);//这里只取得第一个sheet的值,默认从0开始
	       System.out.println(sheet.getColumns());//查看sheet的列
	       System.out.println(sheet.getRows());//查看sheet的行
	       Cell cell = null;//就是单个单元格
	       // 开始循环,取得 cell 里的内容,这里都是按String来取的 为了省事,具体你自己可以按实际类型来取。或者都按
	       // String来取。然后根据你需要强制转换一下。
	       for (int j = 0; j < sheet.getColumns(); j++) {
	    	   	StringBuffer sb =  new StringBuffer();
		        for (int i = 0; i < sheet.getRows(); i++) {
		        	cell = sheet.getCell(j, i);
		        	sb.append(cell.getContents());
		        	sb.append(",");//将单元格的每行内容用逗号隔开
		        }
		        list.add(sb.toString());//将每行的字符串用一个String类型的集合保存。
	       }
	       workBook.close();//记得关闭
	       
	      //迭代集合查看每行的数据
	      for(String ss:list){
	    	  System.out.println(ss);
	      }
	}

}

 接下来,就是写excel了,见代码:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class JxlWriteExcel {
    
    /**
     * @param datas 封装着Object[]的列表, 一般是String内容.
     * @param title 每个sheet里的标题.
     */
    public void writeExcel(OutputStream out, List list, String[] title) {
        if(list == null) {
            throw new IllegalArgumentException("要写入excel的数据不能为空!");
        }
        try {
            WritableWorkbook workbook = Workbook.createWorkbook(out);
            WritableSheet ws = workbook.createSheet("sheet 1", 0);//创建sheet
            int rowNum = 0;    //要写的行,jxl操作excel时,第一行是从0开始,以此类推
            if(title != null) {
                putRow(ws, 0, title);//压入标题
                rowNum = 1;
            }
            for(int i=0; i<list.size(); i++, rowNum++) {//写sheet
                Object[] cells = (Object[]) list.get(i);
                putRow(ws, rowNum, cells);    //压一行到sheet
            }
            workbook.write();
            workbook.close();    //一定要关闭, 否则没有保存Excel
        } catch (RowsExceededException e) {
            System.out.println("jxl write RowsExceededException: "+e.getMessage());
        } catch (WriteException e) {
            System.out.println("jxl write WriteException: "+e.getMessage());
        } catch (IOException e) {
            System.out.println("jxl write file i/o exception!, cause by: "+e.getMessage());
        }
    }

    private void putRow(WritableSheet ws, int rowNum, Object[] cells) throws RowsExceededException, WriteException {
        for(int j=0; j<cells.length; j++) {//写一行
            Label cell = new Label(j, rowNum, ""+cells[j]);
            ws.addCell(cell);
        }
    }
    
}

 调用写excel的测试代码

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

public class Test1 {
            public static void main(String[] args) {
	// TODO Auto-generated method stub
	List list = new ArrayList();
	//组装写入excel的数据
        for(int i=0;i<10;i++){
        	String[] data = {"开心"+i,"2"+i};
        	list.add(data);
        }
        try {
            OutputStream out = new FileOutputStream(new File("c:\\sinye.xls"));
            JxlWriteExcel jxlExcelWriter = new JxlWriteExcel();
            jxlExcelWriter.writeExcel(out, list, new String[] {"姓名", "年龄"});
            out.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 记得在你的编译环境下放置jxl.jar文件啊!

 

分享到:
评论

相关推荐

    JXL读写Excel小例子

    读取Excel文件同样简单。以下代码演示了如何打开一个已存在的Excel文件并读取其内容: ```java import jxl.Workbook; import jxl.Sheet; import jxl.Cell; import jxl.read.biff.BiffException; import java.io....

    JXL读写EXCEL示例

    读取Excel文件: 1. 创建一个`Workbook`对象:这是JXL中的核心类,代表整个Excel工作簿。你可以通过`Workbook.getWorkbook(File)`方法打开一个现有的Excel文件。 ```java File excelFile = new File("path_to_your_...

    JXL 读取EXCEL

    标题 "JXL 读取EXCEL" 涉及到的是使用Java Excel Library(简称JXL)这个开源库来处理Microsoft Excel文件。JXL是一个强大的工具,它允许开发者在Java程序中读取、写入和修改Excel文件。下面将详细介绍JXL库以及如何...

    jxl读写excel数据,输出图片

    使用JXL,我们可以读取Excel文件中的数据,包括文本、数字、日期等。以下是一个简单的示例,展示如何读取Excel文件: ```java WritableWorkbook workbook = Workbook.getWorkbook(new File("input.xls")); Sheet ...

    jxl读取Excel文件

    NULL 博文链接:https://zhouyq.iteye.com/blog/272883

    JXL读写Excel例子demo

    在"JXL读写Excel例子demo"中,我们将探讨如何利用JXL库来处理Excel数据。这个示例程序包含了一个名为"Jxl读写Excel例子demo.jxl.jar"的库文件,它是JXL库的实现,可以集成到Java项目中以处理Excel文件。 JXL库提供...

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

    以下是一个使用JXL读取Excel文件的示例: ```java import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write....

    JXL读写Excel源码

    在Android开发中,JXL可以帮助我们创建、更新或读取Excel文件,这对于数据存储、报告生成或测试自动化等场景非常有用。 在描述中提到,由于作者正在从事安卓测试工作,所以回顾并使用了JXL。尽管Android原生并不...

    使用jxl读取Excel表格数据

    "使用jxl读取Excel表格数据"这个主题就是关于如何利用jxl库来实现这一目标。jxl是一个开源的Java库,它提供了对Microsoft Excel文件格式的支持,使得在Java中操作Excel变得简单。 首先,你需要获取jxl的jar包。由于...

    jxl读取excel的java代码小程序

    在这个"jxl读取excel的java代码小程序"中,我们将探讨如何利用JXL库来实现Excel文件的读取操作。 首先,我们需要在项目中引入JXL库。如果使用Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    Jxl读写Excel例子demo(2)

    本示例“Jxl读写Excel例子demo(2)”将详细解释如何利用jxl.jar库进行Excel文件的操作。 首先,我们需要理解Jxl库的核心概念。Jxl提供了对Excel文件格式的全面支持,包括单元格类型(文本、数字、日期等)、样式...

    java利用jxl读取excel文件

    使用`jxl`库读取Excel文件主要涉及以下步骤: 1. **导入必要的库**:在Java源代码中,你需要导入`jxl`相关的包。例如: ```java import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; ...

    jxl读取Excel报表

    标题中的“jxl读取Excel报表”指的是利用jxl库来操作Excel文件,特别是从Excel文件中提取数据以进行分析或进一步处理。以下是对这个主题的详细讲解: 首先,`jxl.jar`是jxl库的主要组件,它支持读取和写入Microsoft...

    jxl的excel读写操作

    2. **读取Excel文件** 使用`Workbook`类来打开Excel文件。以下是一个基本示例: ```java Workbook workbook = Workbook.getWorkbook(new File("yourfile.xls")); Sheet sheet = workbook.getSheet(0); // 获取第...

    jxl读取excel数据(带实例)

    本文将详细介绍如何使用JXL库来读取Excel数据,并通过一个实际的代码示例进行演示。 首先,你需要在项目中引入JXL库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    用JXL读写excel到数据库实例

    使用jxl,读写excel数据进数据库的例子。 需要jxl.jar、poi-2.0-final-20040126.jar、mysql-connector-java-3.0.8-stable-bin.jar、jakarta-poi-1.5.1-final-20020615.jar。

    jxl读写excel源码

    Java编程语言提供了多种库来处理Excel文件,其中jxl是一个广泛使用的开源库,它使得在Java应用程序中读取和写入Excel文件变得简单。本文将详细介绍如何使用jxl库进行Excel文件的读写操作,以及适合初学者的关键知识...

    jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003

    在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...

    利用jxl读取Excel代码的完整内容,包括jar包

    本篇将详细介绍如何利用jxl库读取Excel文件,并提供一个完整的代码示例。 首先,jxl库提供了一个方便的API,让我们能够轻松地与Excel文件交互。要使用jxl,你需要下载jxl.jar文件,并将其添加到你的项目类路径中。...

    POI和JXL读取EXCEL数据的工具类(POI支持2007)

    本主题将详细讲解如何使用Apache POI和JExcelApi(JXL)这两个Java库来读取Excel文件,以及提供的工具类`PoiUtil.java`和`JxlUtil.java`的使用方法。 Apache POI是一个流行的开源库,它允许开发者创建、修改和显示...

Global site tag (gtag.js) - Google Analytics