Java读写文件(Excel)

来源:互联网 发布:matlab矩阵怎么运算 编辑:程序博客网 时间:2024/06/05 02:29

接上一篇,本篇讲解的是通过Java来读写Excel文件

1.使用java来进行Excel文件的读写,需要使用到jxl包

   jxl包路径:http://download.csdn.net/download/ziyuluoyao/9946988

  下载好jxl包,将其copy到jre的安装路径中:D:\Program Files\Java\jre1.8.0_131\lib\ext

  若还不能使用,在classpath中增加其路径。

2.代码如下:

import java.io.*;

import jxl.*;
import jxl.write.*;


public class TestFileExcel{
//写入数据到Excel中
public static void creatExcel(File f) {    
        try{

WritableWorkbook book = Workbook.createWorkbook(f);//打开文件
WritableSheet sheet=book.createSheet("第一页",0);//生成名为“第一页”的工作表,参数0表示这是第一页


//设置字体为TIMES,字体大小16,加粗
WritableFont font1= new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD); 
WritableCellFormat format1=new WritableCellFormat(font1);
Label label=new Label(0,0,"test",format1);//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)//以及单元格内容为test
sheet.addCell(label);//将定义好的单元格添加到工作表中


//设置字体格式为excel支持的格式,字体大小16,不加粗
WritableFont font3=new WritableFont(WritableFont.createFont("楷体 _GB2312"),12,WritableFont.NO_BOLD );
WritableCellFormat format3=new WritableCellFormat(font3);
Label label1=new Label(1,0,"ID",format3);//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)//以及单元格内容为test
sheet.addCell(label1);//将定义好的单元格添加到工作表中


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

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

    }
//获取Excel表中某个单元格的内容
public static void ReadExcel(File f){    
try {
            Workbook book = Workbook.getWorkbook(f);      

            Sheet sheet = book.getSheet(0);         // 获得第一个工作表对象
            Cell cell1 = sheet.getCell(0, 0); // 得到第一列第一行的单元格
            String result = cell1.getContents();
            System.out.println(result);
            book.close();
        } catch (Exception e) {
            System.out.println(e);
        }
}

//修改Excel表中某个单元格的内容
public static void UpdateExcel(File f){
try {           
            Workbook wb = Workbook.getWorkbook(f); // Excel获得文件

            // 打开一个文件的副本,并且指定数据写回到原文件
            WritableWorkbook book = Workbook.createWorkbook(f,wb); 
          
            WritableSheet sheet = book.createSheet("第二页", 1);  // 添加一个工作表
            sheet.addCell(new Label(0, 0, "测试数据"));
            book.write();
            book.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    
}

public static void main(String[] args) {
File f =new File("G:\\t\\测试.xls");
creatExcel(f);
ReadExcel(f);
UpdateExcel(f);

}
}
原创粉丝点击