(二)JAVA使用POI操作excel

news/2024/7/21 5:49:21 标签: poi, excel

链接:https://www.cnblogs.com/wishwzp/p/5494038.html
出现版本错误,链接:https://www.cnblogs.com/xx0405/p/5305566.html

1. 创建一个时间格式的单元格

Demo4.java

package com.wajpzywj.exceldemo.main;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;

import java.io.FileOutputStream;
import java.util.Calendar;
import java.util.Date;

public class Demo4 {
    public static void main(String[] args) throws Exception{
        Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
        Sheet sheet=wb.createSheet("第一个Sheet页");  // 创建第一个Sheet页

        Row row=sheet.createRow(0); // 创建一个行

        Cell cell=row.createCell(0); // 创建一个单元格  第1列
        cell.setCellValue(new Date());  // 给单元格设置值

        CreationHelper createHelper=wb.getCreationHelper();
        CellStyle cellStyle=wb.createCellStyle(); //单元格样式类
        cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyy-mm-dd hh:mm:ss"));
        cell=row.createCell(1); // 第二列
        cell.setCellValue(new Date());
        cell.setCellStyle(cellStyle);

        cell=row.createCell(2);  // 第三列
        cell.setCellValue(Calendar.getInstance());
        cell.setCellStyle(cellStyle);

        FileOutputStream fileOut=new FileOutputStream("d:\\工作簿.xls");
        wb.write(fileOut);
        fileOut.close();
    }
}

在这里插入图片描述
在这里插入图片描述

2,处理不同内容格式的单元格

Demo5.java

package com.wajpzywj.exceldemo.main;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

import java.io.FileOutputStream;
import java.util.Date;

public class Demo5 {
    public static void main(String[] args) throws Exception{
        Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿
        Sheet sheet=wb.createSheet("第一个Sheet页");  // 创建第一个Sheet页

        Row row=sheet.createRow(0); // 创建一个行

        Cell cell=row.createCell(0); // 创建一个单元格  第1列
        cell.setCellValue(new Date());  // 给单元格设置值

        row.createCell(1).setCellValue(1);
        row.createCell(2).setCellValue("一个字符串");
        row.createCell(3).setCellValue(true);
        row.createCell(4).setCellValue(HSSFCell.CELL_TYPE_NUMERIC);
        row.createCell(5).setCellValue(false);

        FileOutputStream fileOut=new FileOutputStream("d:\\工作簿.xls");
        wb.write(fileOut);
        fileOut.close();
    }
}

在这里插入图片描述
在这里插入图片描述

3,遍历工作簿的行和列并获取单格内容

在这里插入图片描述
在这里插入图片描述
我们遍历这个excel

Demo6.java

package com.wajpzywj.exceldemo.main;

import com.wajpzywj.exceldemo.utils.WorkbookFactory;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;

import java.io.FileInputStream;

public class Demo6 {
    public static void main(String[] args) throws Exception{
//        InputStream is=new FileInputStream("d:\\个人名单.xlsx");
//        POIFSFileSystem fs=new POIFSFileSystem(is);
//        HSSFWorkbook wb=new HSSFWorkbook(fs);
        Workbook wb = WorkbookFactory.create(new FileInputStream("d:\\个人名单.xlsx"));

        XSSFSheet xssfSheet= (XSSFSheet) wb.getSheetAt(0); // 获取第一个Sheet页
        if(xssfSheet==null){
            return;
        }
        // 遍历行Row
        for(int rowNum=0;rowNum<=xssfSheet.getLastRowNum();rowNum++){
            XSSFRow xssfRow=xssfSheet.getRow(rowNum);
            if(xssfRow==null){
                continue;
            }
            // 遍历列Cell
            for(int cellNum=0;cellNum<=xssfRow.getLastCellNum();cellNum++){
                XSSFCell xssfCell=xssfRow.getCell(cellNum);
                if(xssfCell==null){
                    continue;
                }
                System.out.print(" "+getValue(xssfCell));
            }
            System.out.println();
        }
    }

    private static String getValue(XSSFCell xssfCell){
        if(xssfCell.getCellType()==XSSFCell.CELL_TYPE_BOOLEAN){
            return String.valueOf(xssfCell.getBooleanCellValue());
        }else if(xssfCell.getCellType()==XSSFCell.CELL_TYPE_NUMERIC){
            return String.valueOf(xssfCell.getNumericCellValue());
        }else{
            return String.valueOf(xssfCell.getStringCellValue());
        }
    }
}

在这里插入图片描述

4,文本提取

我们文本提取上面个人名单.xls表格。。。

Demo7.java

package com.wajpzywj.exceldemo.main;

import com.wajpzywj.exceldemo.utils.WorkbookFactory;
import org.apache.poi.ss.usermodel.Workbook;

import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;

public class Demo7 {
    public static void main(String[] args) throws Exception{
        Workbook wb = WorkbookFactory.create(new FileInputStream("d:\\个人名单.xlsx"));

        XSSFExcelExtractor excelExtractor=new XSSFExcelExtractor((XSSFWorkbook) wb);
        excelExtractor.setIncludeSheetNames(false);// 我们不需要Sheet页的名字
        System.out.println(excelExtractor.getText());
    }
}

控制台显示:
在这里插入图片描述
excelExtractor.setIncludeSheetNames(false);这个如果为true的话就会显示Sheet页了

excelExtractor.setIncludeSheetNames(true):

控制台输出:
在这里插入图片描述


http://www.niftyadmin.cn/n/776569.html

相关文章

(三)JAVA使用POI操作excel

1&#xff0c;单元格对齐方式 Demo8.java package com.wajpzywj.exceldemo.main;import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.p…

(四)JAVA使用POI操作excel

链接&#xff1a;https://www.cnblogs.com/wishwzp/p/5495076.html 1&#xff0c;字体处理 Demo12.java package com.wajpzywj.exceldemo.main;import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*;import java.io.FileOutputStream;…

idea中自动生成model实体类

进入generatorConfig.xml, 目录如下。 xml文件内容如下&#xff0c;有几个注意点。 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"…

安装Vue 及 创建一个Vue 项目,在hbuiderx中打开项目

创建一个Vue项目 1. 准备工作 首先要先安装node 及 npm 详情见 【http://www.cnblogs.com/ylboke/p/8342116.html 】及【http://www.cnblogs.com/ylboke/p/8342185.html 】 安装Git(可先不安装)&#xff08;Git是一个分布式版本控制系统&#xff09;详情见&#xff08;关于gi…

MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具

链接&#xff1a;https://www.cnblogs.com/netserver/p/5597834.html 预备&#xff1a;启动服务 一、连接Mysql 格式&#xff1a; mysql -h主机地址 -u用户名 &#xff0d;p用户密码 1、连接到本机上的MYSQL。 首先打开DOS窗口&#xff0c;然后进入目录mysql\bin&#xff0…

pycharm安装教程()

链接&#xff1a;https://www.cnblogs.com/shangping/p/11235008.html 1. 进入官网下载 下载链接&#xff1a;http://www.jetbrains.com/pycharm/download/#sectionwindows 2. 进行安装 3. 打开pycharm

sql数据库的基本操作

数据表的基本操作1.创建数据表1.1创建表的语法形式1.2主键约束1.2.1 单字段主键1.2.2 多字段主键1.3外键约束1.4 非空约束1.5 唯一性约束1.5.1 定义完列之后直接指定唯一约束1.5.2 定义完所有列之后直接指定唯一约束1.6 默认约束1.7 设置数据表的属性自动增加2. 查看数据表结构…