05_Excel操作_01_简单导入导出

【Excel组成】

主要由四部分组成:

 

 

1.工作簿

  每一个Excel文件都可以看成是一个工作簿,当打开一个Excel文件时,相当于打开了一个Excel工作簿。

 

2.工作表

  当打开了Excel工作簿后,我们可以在底部看到"Sheet"标签,这个就表示工作表,一个"sheet"标签代表一个工作表。

 

3.行

  每个工作表内,每一行就是一行。如图表示第3行

 

4.单元格

 

理解了Excel的基本含义后,可以开始用java代码来操作Excel了,本文使用POI来操作Excel。

【POI操作Excel的流程】

1.操作(创建、读取)工作簿(Excel文件)

2.操作工作表

3.操作行

4.操作单元格

【Excel样式】

合并单元格对象是属于工作簿,运用于工作表。

 //起始行号,结束行号,起始列号,结束列号

CellRangeAddress(int firstRow,int lastRow, int firstCol,int lastCol); 

 

样式属于工作簿,运用于单元格;

字体属于工作簿,加载在样式中通过样式运用于单元格。

 

 

 【POI包中主要对象-------Excel中几个对象对应表】

 

使用上面的几个POI中的对象,我们来具体操作一下Excel

 【工程截图】

 

【OperateExcel.java】testWriteExcel()方法,创建工作簿,向某一行某一列的单元格写入数据

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

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.util.CellRangeAddress;
import org.junit.Test;


public class OperateExcel {
    /**
     * 创建工作簿,并向某一行某一列写入数据
     * @throws IOException
     */
    @Test
    public void testWriteExcel() throws IOException{
        //1.创建工作簿
        HSSFWorkbook workbook=new HSSFWorkbook();
        //2.创建工作表,命名为"hello work!"
        HSSFSheet sheet=workbook.createSheet("hello work!");
        //3.创建行,如:第6行(Excel的第6行)
        HSSFRow row=sheet.createRow(5);
        //4.创建单元格,第6行第4列
        HSSFCell cell=row.createCell(3);
        
        cell.setCellValue("HigginCui!!加油啊啊啊!");  //设置写入单元格的字符串值
        
        String fileName="D:\\测试.xls";   //Excel(工作簿)保存在D盘,名称为"测试.xls"
        FileOutputStream fileOutputStream=new FileOutputStream(fileName);
        workbook.write(fileOutputStream);
        workbook.close();
        fileOutputStream.close();
    }
}

 【运行结果】

首先看D盘下是否生成的名为"测试.xls"的Excel文件。

打开文件查看内容:

 

【OperateExcel.java】testReadExcel()方法,读取已存在的Excel(工作簿)中某一行某一列的单元格的数据。

  /**
     * 读取某一行某一列的值
     * @throws IOException 
     */
    @Test
    public void testReadExcel() throws IOException{
        String fileName="D:\\测试.xls";
        
        FileInputStream fileInputStream=new FileInputStream(fileName);
        //1.读取工作簿
        HSSFWorkbook workbook=new HSSFWorkbook(fileInputStream);
        //2.读取工作表
        HSSFSheet sheet=workbook.getSheetAt(0);
        //3.读取行,第6行
        HSSFRow row=sheet.getRow(5);
        //4.读取列,第6行第4列
        HSSFCell cell=row.getCell(3);
        
        System.out.println("第6行第4列的值:"+cell.getStringCellValue());
        
        workbook.close();
        fileInputStream.close();
    }

【运行结果】

查看控制台读取的数据

 

【OperateExcel.java】testStyleExcel()方法,创建工作簿,并合并单元格、字体设置、背景色设置等 样式功能

  /**
     * 合并单元格、字体、背景色等样式设置
     * @throws IOException 
     */
    @Test
    public void testStyleExcel() throws IOException{
        //1.创建工作簿
        HSSFWorkbook workbook=new HSSFWorkbook();
            //1.1 创建 合并单元格对象,合并第3行第3列
        CellRangeAddress cellRangeAddress=new CellRangeAddress(2,2,2,4);//起始行号,结束行号,起始列号,结束列好
            //1.2创建 单元格样式
        HSSFCellStyle style=workbook.createCellStyle();
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  //设置水平居中
        style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //垂直居中
            //1.3创建 字体
        HSSFFont font=workbook.createFont();
        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);  //设置字体加粗
        font.setFontHeightInPoints((short)16);         //字体大小为16
        
            //将字体加载到工作簿的样式中
        style.setFont(font);
        
            //1.4设置背景
        style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);   //设置填充模式
        style.setFillForegroundColor(HSSFColor.GREEN.index);   //设置背景为绿色
        
        //2.创建工具类
        HSSFSheet sheet=workbook.createSheet("hello work...");
        //2.1加载 合并单元格对象
        sheet.addMergedRegion(cellRangeAddress);
        
        //3.创建行,第3行
        HSSFRow row =sheet.createRow(2);
        
        //4.创建单元格,第3行第3列
        HSSFCell cell=row.createCell(2);
        //4.1加载 单元格格式
        cell.setCellStyle(style);
        cell.setCellValue("Hello World!!!");
        String fileName="D:\\测试.xls";  //存放Excel的路径
        FileOutputStream fileOutputStream=new FileOutputStream(fileName);
        workbook.write(fileOutputStream);
        workbook.close();
        fileOutputStream.close();
    }

【运行结果】

直接打开“D:\\测试.xls”,查看如下:

 

posted @ 2016-08-18 16:37  HigginCui  阅读(413)  评论(0)    收藏  举报