java操作Excel读写

JAVA操作excel的两种方法:分别为:jxl和poi

1、在小数据量时jxl快于poi,在大数据量时poi要快于jxl。但差距都不明显

2、jxl是一个韩国人写的java操作excel的工具,对中文支持比较好,

今天介绍poi方法:

首先要先导入poi的jar包:

读写excel的简单代码如下 :

package testsuite;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.Test;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;


public class Test_excel {

    @Test
    public void writeexcel() throws Exception{
        XSSFWorkbook wwb=new XSSFWorkbook();
        //创建工作簿
        XSSFSheet sheet=wwb.createSheet("shermin");
        //2、创建工作表sheet页,名字是shermin
        XSSFRow row=sheet.createRow(0);
        //3、创建行;创建第一行,索引从0开始
        XSSFCell cell=row.createCell(0);
        //4、创建单元格;创建第1行第1列
        cell.setCellValue("Hello word001!");

        //输出到硬盘,把excel输出到具体的地址
        FileOutputStream fileOPT=new FileOutputStream("C:\\Users\\lsq\\Desktop\\test.xlsx");
        wwb.write(fileOPT);
        wwb.close();
        fileOPT.close();
    }

    @Test
    public void readexcel() throws IOException {
        FileInputStream FIPSfile=new FileInputStream("C:\\Users\\lsq\\Desktop\\test.xlsx");
        //1、读取工作簿
        XSSFWorkbook wwb1=new XSSFWorkbook(FIPSfile);
        //2、读取第"shermin"工作表,用的是getSheet方法,创建sheet页使用的是createSheet方法
        XSSFSheet sheet1=wwb1.getSheet("shermin");
        XSSFRow row1=sheet1.getRow(0);
        XSSFCell cell1=row1.getCell(0);
        //读取单元格;读取第1行第1列
        System.out.println(cell1.getStringCellValue());
        wwb1.close();
        FIPSfile.close();
        
    }
}

注意:

2003版的Excel和2007版的Excel创建对象的类不同:(最好利用正则表达式)

  1. // HSSFWorkbook 2003的excel .xls,XSSFWorkbook导入2007的excel .xlsx

  2. HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file)));

  3. XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(new File(file))));

猜你喜欢

转载自blog.csdn.net/weixin_39430584/article/details/82352020