手记

利用POI对Excel进行读写操作

package com.imooc.excel;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @program: excel_poi
 * @Author: Ms.Cao
 * @Description:
 * POI生成excel文件
 * 创建excel写入数据
 */
public class PoiExpExcel {
    public static void main(String[] args) {
        //定义数组,excel的表头
        String[] title = {"id","name","sex"};
        //创建Excel工作簿
        HSSFWorkbook workbook = new HSSFWorkbook();
        //创建一个工作表sheet
        HSSFSheet sheet = workbook.createSheet();
        //创建第一行
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell = null;
        //插入第一行数据,id,name,sex
        for (int i = 0; i < title.length; i++) {
            cell = row.createCell(i);
            cell.setCellValue(title[i]);

        }
        //追加数据
        for (int i = 1; i <=10; i++) {
            HSSFRow nextrow = sheet.createRow(i);
            HSSFCell cell2 = nextrow.createCell(0);
            cell2.setCellValue("a" + i);
            cell2 = nextrow.createCell(1);
            cell2.setCellValue("user" + i);
            cell2 = nextrow.createCell(2);
            cell2.setCellValue("男");
        }
        //创建文件
        File file = new File("E:\\poi_test.xls");
        try{
            file.createNewFile();
            //将excel文件内容保存
            FileOutputStream stream = FileUtils.openOutputStream(file);
            //写入到此文件中
            workbook.write(stream);
            //关闭
            stream.close();
        }catch (IOException e){
            e.printStackTrace();
        }

    }
}






package com.imooc.excel;

import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

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

/**
 * @program: excel_poi
 * @Author: Ms.Cao
 * @Description:
 * POI解析excel文件(读取)
 * 两种方式来读取工作表
 */
public class poiReadExcel {
    public static void main(String[] args) {
        //引入需要解析的excel文件
        File file = new File("E:\\poi_test.xls");
        try{
             //创建Excel,读取文件内容
            HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(file));
            //获取第一个工作表workbook.getSheet("sheet0");(方式一)
           // HSSFSheet sheet = workbook.getSheet("Sheet0");
            //读取默认第一个工作表sheet(方式二)
            HSSFSheet sheet = workbook.getSheetAt(0);
            //读取工作表中的数据
            int firstRowNum = 0;
            //获取sheet中最后一行行号
            int lastRowNum = sheet.getLastRowNum();
            for (int i = firstRowNum; i <= lastRowNum ; i++) {
                HSSFRow row = sheet.getRow(i);
                //获取当前行最后单元格的列号
                int lastCellNum = row.getLastCellNum();
                for (int j = 0; j < lastCellNum; j++) {
                    //读取cell
                    HSSFCell cell = row.getCell(j);
                    //定义value,读取值
                     String value= cell.getStringCellValue();
                     System.out.print(value + "  ");
                }
                System.out.println();
            }

        }catch (IOException e){
            e.printStackTrace();
        }
    }
}

小测试一枚,学习Java中,手记,记录点滴。。。。

1人推荐
随时随地看视频
慕课网APP