1. 程式人生 > >自己寫的一個動態生成表格的工具類

自己寫的一個動態生成表格的工具類

效果:可以通過傳入引數動態生成表格

實現程式碼

public static StringBuffer Testmain() {
		
      //表頭
      ArrayList<Data> datas=new ArrayList<Data>();
      datas.add(new Data(2,2,""));
      datas.add(new Data(3,1,"表頭1"));
      ArrayList<Data> datas1=new ArrayList<Data>();
      datas1.add(new Data(1,1,"表頭11"));
      datas1.add(new Data(1,1,"表頭12"));
      datas1.add(new Data(1,1,"表頭13"));
      ArrayList<ArrayList<Data>> headModule=new ArrayList<ArrayList<Data>>();
      headModule.add(datas);
      headModule.add(datas1);
      
      //左側表
      ArrayList<Data> datals=new ArrayList<Data>();
      datals.add(new Data(1,2,"左側1"));
      datals.add(new Data(1,1,"左側11"));
      ArrayList<Data> datals1=new ArrayList<Data>();
      datals1.add(new Data(1,1,"左側12"));
      ArrayList<Data> datals2=new ArrayList<Data>();
      datals2.add(new Data(1,2,"左側2"));
      datals2.add(new Data(1,1,"左側21"));
      ArrayList<Data> datals3=new ArrayList<Data>();
      datals3.add(new Data(1,1,"左側22"));
      ArrayList<ArrayList<Data>> leftModule=new ArrayList<ArrayList<Data>>();
      leftModule.add(datals);
      leftModule.add(datals1);
      leftModule.add(datals2);
      leftModule.add(datals3);
      
      //主資料
      ArrayList<ArrayList<String>> mainModule=new ArrayList<ArrayList<String>>();
      ArrayList<String> mainDataString=new ArrayList<String>();
      for(Integer i=0;i<3;i++){
    	  mainDataString.add(i.toString());
      }
      ArrayList<String> mainDataString1=new ArrayList<String>();
      for(Integer i=0;i<3;i++){
    	  mainDataString1.add(i.toString());
      }
      ArrayList<String> mainDataString2=new ArrayList<String>();
      for(Integer i=0;i<3;i++){
    	  mainDataString2.add(i.toString());
      }
      ArrayList<String> mainDataString3=new ArrayList<String>();
      for(Integer i=0;i<3;i++){
    	  mainDataString3.add(i.toString());
      }
      mainModule.add(mainDataString);
      mainModule.add(mainDataString1);
      mainModule.add(mainDataString2);
      mainModule.add(mainDataString3);
      GenerateImpl generate=new GenerateImpl();
      //第一個引數是table  的ID  第二個是表頭  第三個是左側列  第四個是主資料
      StringBuffer string=generate.GenerateTableString("test",headModule, leftModule, mainModule);
      return string;
	}

    如上的程式碼你只需要  設定好表頭左側列表  傳入對應的資料  呼叫

GenerateImpl generate=new GenerateImpl();
      //第一個引數是table  的ID  第二個是表頭  第三個是左側列  第四個是主資料
      StringBuffer string=generate.GenerateTableString("test",headModule, leftModule, mainModule);

  就可以生成一個帶table標籤字串