import java.util.ArrayList;import java.util.List;import org.apache.poi.ss.util.CellRangeAddress;public class Util { /** * 获取 和并列 List 并截图有效参数 * @param lc * @return */ public static ListgetMergedString(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(); Listal =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