使用java操作Excel

Posted 劲火星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用java操作Excel相关的知识,希望对你有一定的参考价值。

一、概念



什么是JXL

Jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱。POI使用复杂,上手慢,除了这个没啥说的了。



二、特点

可以对Excel表格进行创建/删除,还有增删改查等操作


三、使用

1. 创建Excel表格

// 生成Excel的类 
import java.io.File;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class CreateExcel 
    public static void main(String args[]) 
        try 
            // 打开文件
            WritableWorkbook book = Workbook.createWorkbook(new File("c:/test.xls"));
            // 生成名为“第一页”的工作表,参数0表示这是第一页
            WritableSheet sheet = book.createSheet(" 第一页 ", 0);
            // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
            // 以及单元格内容为test
            Label label = new Label(0, 0, " test ");
            // 将定义好的单元格添加到工作表中
            sheet.addCell(label);

            // 生成一个保存数字的单元格,必须使用Number的完整包路径,否则有语法歧义。
            //单元格位置是第二列,第一行,值为123.456
            jxl.write.Number number = new jxl.write.Number(1, 0, 123.456);
            sheet.addCell(number);

            // 写入数据并关闭文件
            book.write();
            book.close();
         catch (Exception e) 
            System.out.println(e);
        
    


文件的读取

// 读取Excel的类 
import java.io.File;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class ReadExcel 
    public static void main(String args[]) 
        try 
            Workbook book = Workbook.getWorkbook(new File("c:/test.xls"));
            // 获得第一个工作表对象
            Sheet sheet = book.getSheet(0);
            // 得到第一列第一行的单元格
            Cell cell = sheet.getCell(0, 0);
            String contents = cell.getContents();//得到单元格内容
            System.out.println(contents);
            book.close();
         catch (Exception e) 
            System.out.println(e);
        
    

文件的修改

// 修改Excel的类 
import java.io.File;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class UpdateExcel 
    public static void main(String args[]) 
        try 
            // 获得Excel文件
            Workbook wb = Workbook.getWorkbook(new File("c:/test.xls"));
            // 打开一个文件的副本,并且指定数据写回到原文件
            WritableWorkbook book = Workbook.createWorkbook(new File("c:/test.xls"), wb);
            
            //修改原工作表数据
            WritableSheet sheet1 = book.getSheet(0);
            sheet1.addCell(new Label(0, 0, "覆盖原来的test"));
            
            // 添加一个新工作表
            WritableSheet sheet2 = book.createSheet(" 第二页 ", 1);
            sheet2.addCell(new Label(0, 0, " 第二页的测试数据 "));
            
            book.write();
            book.close();
         catch (Exception e) 
            System.out.println(e);
        
    



尊重作者,尊重原创,参考文章:

http://www.cnblogs.com/hellojava/archive/2013/01/06/2843710.html



与50位技术专家面对面 20年技术见证,附赠技术全景图

以上是关于使用java操作Excel的主要内容,如果未能解决你的问题,请参考以下文章

Java8:与 lambdas 和重载方法的歧义

XPath 歧义

Java使用 POI 操作Excel

java使用POI操作excel文件,实现批量导出,和导入

java使用POI操作excel文件,实现批量导出,和导入

Spring框架 ---- bean的歧义性