首先添加两个包,在pom.xml里面加入:

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.9</version></dependency>

干货:

/**
 * 读取excel标题、内容
 */
public void findCompanyIndustry() {List<Industry> list = industryRepository.findAll();
    System.out.println(list);
    Map<Integer, String> map = new HashMap<Integer, String>();
    Workbook workbook = null;
    String str = "";
    try {InputStream in = new FileInputStream("d:\\项目资料\\测试行业.xlsx");
        try {workbook = WorkbookFactory.create(in);
        } catch (IOException e) {throw new ServiceException(ResultEnum.ERROR.getCode(), "saveIndustry方法IOException");
        } catch (InvalidFormatException e) {throw new ServiceException(ResultEnum.ERROR.getCode(), "saveIndustry方法InvalidFormatException");
        }Sheet sheet = workbook.getSheetAt(0);
        Row row = sheet.getRow(0);
        // 标题总列数
        int colNum = row.getPhysicalNumberOfCells();
        System.out.println("colNum:" + colNum);
        String[] title = new String[colNum];
        for (int i = 0; i < colNum; i++) {title[i] = getCellFormatValue(row.getCell((short) i));
        }System.out.println("获得Excel表格的标题:");
        for (String s : title) {System.out.print(s + " ");
        }System.out.println("");

        int rowNum = sheet.getLastRowNum();
        // 正文内容应该从第二行开始,第一行为表头的标题
        for (int i = 1; i <= rowNum; i++) {row = sheet.getRow(i);
            int j = 0;
            while (j < colNum) {// 每个单元格的数据内容用"-"分割开,以后需要时用String类的replace()方法还原数据
                // 也可以将每个单元格的数据设置到一个javabean的属性中,此时需要新建一个javabean
                // str += getStringCellValue(row.getCell((short) j)).trim() +
                // "-";
                str += getCellFormatValue(row.getCell((short) j)).trim() + "-";
                j++;
            }map.put(i, str);
            str = "";
        }System.out.println("获得Excel表格的内容:");
        for (int i = 1; i <= map.size(); i++) {System.out.println(map.get(i));
        }saveCompanyIndustry(list, map);
    } catch (FileNotFoundException e) {throw new ServiceException(ResultEnum.ERROR.getCode(), "saveIndustry方法IFileNotFoundException");
    }
}/**
 * 根据HSSFCell类型设置数据
 *
 * @param cell
 * @return
 */
private String getCellFormatValue(Cell cell) {String cellvalue = "";
    if (cell != null) {// 判断当前Cell的Type
        switch (cell.getCellType()) {// 如果当前Cell的Type为NUMERIC
            case Cell.CELL_TYPE_NUMERIC:case Cell.CELL_TYPE_FORMULA: {// 判断当前的cell是否为Date
                if (HSSFDateUtil.isCellDateFormatted(cell)) {// 如果是Date类型则,转化为Data格式

                    //方法1:这样子的data格式是带时分秒的:2011-10-12 0:00:00
                    //cellvalue = cell.getDateCellValue().toLocaleString();

                    //方法2:这样子的data格式是不带带时分秒的:2011-10-12
                    Date date = cell.getDateCellValue();
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    cellvalue = sdf.format(date);

                }// 如果是纯数字
                else {// 取得当前Cell的数值
                    cellvalue = String.valueOf(cell.getNumericCellValue());
                }break;
            }// 如果当前Cell的Type为STRIN
            case Cell.CELL_TYPE_STRING:// 取得当前的Cell字符串
                cellvalue = cell.getRichStringCellValue().getString();
                break;
            // 默认的Cell值
            default:cellvalue = " ";
        }} else {cellvalue = "";
    }return cellvalue;
}
控制台输出:colNum:5
获得Excel表格的标题:
发行人中文名称 主体评级 一级行业 二级行业 三级行业
获得Excel表格的内容:
冀中能源峰峰集团有限公司    AA    原材料    煤炭    煤炭
阳泉煤业(集团)有限责任公司    AAA    原材料    煤炭    煤炭
山东能源集团有限公司    AAA    原材料    煤炭    煤炭
山西焦煤集团有限责任公司    AAA    原材料    煤炭    煤炭
晋能集团有限公司    AAA    原材料    煤炭    煤炭
淮南矿业(集团)有限责任公司    AAA    原材料    煤炭    煤炭
山西潞安矿业(集团)有限责任公司    AAA    原材料    煤炭    煤炭
开滦(集团)有限责任公司    AA+    原材料    煤炭    煤炭

读取excel标题、内容相关推荐

  1. 使用POI读取excel文件内容

    1.前言 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 2.代码实例: ...

  2. 通用读取Excel文件内容的模板设计

    Excel格式文件是最为常用的文件之一,在我们开发的软件中,一般需要把一些报表或表格导出为Excel格式文件,也需要读取Excel格式文件中表格数据.因此,Excel格式文件也成为不同软件间数据交换的 ...

  3. 【框架思路】python如何读取excel文件内容?如何获取excel文件的路径及sheet名称?

    转载请注明作者和出处:美二 https://blog.csdn.net/qq_32654897/article/details/88579713 一.背景说明 在自动化项目中,有时候测试用例会放在ex ...

  4. MATLAB读取Excel标题行特定字符对应数据

    MATLAB读取Excel标题行特定字符对应数据 在Matlab数据处理中,常需要导入excel数据,在数据维数较少时可以比较容易读取对应数据. 当处理大量数据时可以利用matlab中的 find() ...

  5. SpringBoot使用Workbook读取excel中内容

    SpringBoot使用Workbook读取excel中内容 maven文件中导入依赖 获取excel文件 FileInputStream fileInputStream = new FileInpu ...

  6. Java多线程读取excel文件_解决springboot 多线程使用MultipartFile读取excel文件内容报错问题...

    springboot项目开启多线程 启动类加注解开启 @EnableAsync,实现类方法加注解 @Async 前端页面 报错信息 java.io.FileNotFoundException: C:\ ...

  7. php读取excel文件_PHP如何读取excel文件内容?

    在PHP中可以使用PHPExcelReader或者PHPExcel来读取Excel文件内容,其读取内容的语句代码如"$objPHPExcel->getActiveSheet()-> ...

  8. Java 读取excel文件内容插入到数据库

    Java读写Excel的包是Apache POI. JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel ...

  9. PHP读取Excel文件内容

    项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较轻量级,仅支持Excel的读取,实际上 ...

最新文章

  1. easyui数据表格显示复选框_WinCC 报警控件、在线趋势/表格控件数据查询
  2. linux 防火墙开机启动项,Ubuntu 9.10下实现Firestarter网络防火墙自启动
  3. 阿里云部署django项目流程【centos7+python3+mysql】
  4. Android的布局
  5. 带你了解极具弹性的Spark架构的原理
  6. Node连接MySQL并封装其增删查改
  7. jquery ajax和servlet,浅谈ajax在jquery中的请求和servlet中的响应
  8. el表达式跟ognl表达式的区别(用法和页面取值)
  9. html5有哪些优点,HTML5真正的优势优点有什么?
  10. 七种滤波方法测试matlab
  11. 图表背后的秘密 | 技术指标讲解:布林带指标
  12. matlab希尔伯特变换,希尔伯特变换和傅里叶变换MATLAB仿真
  13. 计算机怎么识别ascll汉字,汉字的ASCII码表示和编码是怎样的?
  14. android studio开发app设置登录界面
  15. 从SO_REUSEPORT服务器的一个弊端看多队列服务模型
  16. 腾讯2017秋招笔试编程题--游戏任务标记
  17. 微端游戏启动器launcher的制作(序篇)
  18. 朋友就像人民币 ,有真有假
  19. Web Workers API
  20. Echarts中tooltip显示的数据与数据本身顺序相反

热门文章

  1. mysql保留小数点后一位 进位处理_请问EXCEL保留小数点后一位时是如何修约的?
  2. 好物推荐:2020 年常用软件锦集!帮你解决 90% 的软件问题
  3. 音乐服务器制作教程,分享硬盘中的音乐 DLNA服务搭建教程
  4. Vue中3.0版本严格模式运行项目报错
  5. android全局的dialog,使android的dialog全局显示
  6. 统计学中假设检验有关P值的讨论
  7. 怎么把知网CAJ转换成可复制文字的PDF文件
  8. Devtools下载添加到谷歌扩展程序
  9. 自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件
  10. 统计建模与R软件 薛毅 陈立萍 清华大学出版社第四章课后答案