博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用POI遍历出层级结构的excel表格
阅读量:4550 次
发布时间:2019-06-08

本文共 2973 字,大约阅读时间需要 9 分钟。

import java.util.ArrayList;import java.util.List;import org.apache.poi.ss.util.CellRangeAddress;public class Util {        /**     * 获取  和并列 List 并截图有效参数     * @param lc     * @return     */        public static List
getMergedString(List
lc){ //创建一个字符串链表 List
ls = new ArrayList
(); //遍历链表去掉多余的符号 for(CellRangeAddress cra : lc){ ls.add(cra.toString().substring(40).replaceAll("\\[", "").replaceAll("\\]", "")); } //将链表中的数据导进数组当中以便遍历比较 String[] ls1 = new String[ls.size()]; for(int i=0 ;i
ls1[j].charAt(0)){ String temp = ls1[i]; ls1[i] = ls1[j]; ls1[j] = temp; } } } for(int i=0; i
Util.getTheRangeNumber(ls1[j])){ String temp = ls1[i]; ls1[i] = ls1[j]; ls1[j] = temp; } } }// for(String s :ls1){// System.out.println(s);// } List
ls2 = new ArrayList
(); for(int i=0 ;i
ls){ char c = (char) (column+65); List
ls1 = new ArrayList
(); for(String s :ls){ if(c==s.charAt(0)){ ls1.add(s); } } for(String s:ls1){ if(i>Util.getTheRangeNumber(s)&&i
import java.io.FileInputStream;import java.io.IOException;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.List;import java.util.ListIterator;import org.apache.poi.ss.usermodel.Footer;import org.apache.poi.ss.util.CellRangeAddress;import org.apache.poi.xssf.usermodel.XSSFCell;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class Test {    /**     * @param args     * @throws IOException      */    //定义文件所在位置    public static String FILE_TO_BE_READ = "C:\\Users\\Administrator\\Desktop\\健康档案.xlsx";     //定义第几张sheet;    public static int SHEET_NUM = 4;    //最小行数 从小0开始    public static int FIRST_ROW;    //最大行数     public static int LAST_ROW;            public static void main(String[] args) throws IOException {                //获取工作薄        XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(FILE_TO_BE_READ));         //获取工作页        XSSFSheet sheet = workbook.getSheetAt(SHEET_NUM);        //获取单元格        XSSFCell s = sheet.getRow(1).getCell(0);        //获取最小行数        FIRST_ROW = sheet.getFirstRowNum();        //获取最大行数        LAST_ROW  = sheet.getLastRowNum();        StringBuilder sb = new StringBuilder();                                List 
al =sheet.getMergedRegions(); List
ls = Util.getMergedString(al); // for(int i=0;i<366;i++){// // XSSFCell s2 = sheet.getRow(i+1).getCell(0);// if(s2.toString().trim()!="")// // System.out.print(s2+",");// } String temp = "{"; for(int i = 0; i

 

转载于:https://www.cnblogs.com/valarchie/p/5570518.html

你可能感兴趣的文章
机器学习线性回归算法的评价指标(简单线性回归问题)
查看>>
教你如何剖析源码(转)
查看>>
proxy和proxy-no的策略取值区别
查看>>
Silverlight代码编写对控件的PlaneProjection.RotationY属性控制动画
查看>>
AFNetworking
查看>>
unity3d Start执行不同时问题
查看>>
session
查看>>
JS只能输入数字
查看>>
Laravel 数据库连接, 数据库名,配置文件修改
查看>>
屌丝接盘侠们,孩子可能不是你们亲生的!
查看>>
BZOJ 1854 【SCOI2010】 游戏
查看>>
JavaScript - 匿名函数和闭包
查看>>
负载均衡下的资源文件配置/多站点下的资源文件夹共享(Windows IIS)
查看>>
MySQL firstmatch strategy
查看>>
MS SQL server 2014 创建用户及权限
查看>>
office很抱歉遇到一些临时服务器问题
查看>>
禁止键盘上的刷新键F5等
查看>>
SAP中对于获取订单的状态
查看>>
oracle PL/SQL块
查看>>
CentOS7集群环境Elastic配置
查看>>