アットウィキロゴ

処理でーyy

package car;
 
import java.io.*;
 
public class pro {
   String[][] mat=new String[5000][200];
 
        int fastline,lastline;
        int indexline,creditline,prefline,subline;
        int creditx,credity;
     int[] year=new int[50000];
    int[] month=new int[50000];
      String[] dic=new String[50000];
      String[] credit=new String[500];
        String[] index=new String[500];
      String date;
 
    public static void main(String[] args) {
        pro t=new pro();
    }
 
    pro(){
 
 
        int dicnumber=0;
 
 
 
        int tr;
        for(tr=1;tr<160;tr++){
 
       String file="data/"+tr+"(1)"+".xls";
 
    readxls sub=new readxls();
    sub.maxx=30;
    sub.maxy=120;
    sub.makedata(file,0);
    mat=sub.mat;
 
        int s,sx;
    for(s=1;s<20;s++){
    for(sx=1;sx<10;sx++){
    if(mat[s][sx].indexOf("世帯数分布")>-1)creditline=sx;
    if(mat[s][sx].indexOf("世帯数分布")>-1)fastline=s;
 
    }
    }
 
    date="";
    for(s=1;s<10;s++){
    for(sx=1;sx<10;sx++){
     int h=0;   
    if(mat[s][sx].indexOf("月")>-1)h=h+1;
    if(mat[s][sx].indexOf("年")>-1)h=h+1;
    if(h==2)date=mat[s][sx];
 
    }
    }
 
    System.out.println(date);
 
    creditx=creditline+1;
    credity=creditx+13;
 
    for(s=fastline;s<100;s++){
    if(mat[s][creditline].indexOf("世帯")>-1)lastline=s;
    }
 
 
    for(s=fastline;s<lastline+1;s++){
    index[s]=mat[s][creditline]; 
    }
 
    int k=0;
    for(s=1;s<fastline+1;s++){
    if(mat[s][creditx+1].indexOf("海")>-1)k=s;    
    }
 
 
    for(s=creditx;s<credity+1;s++){
    credit[s]=mat[k][s]; 
    }
    credit[creditx]="合計";
 
 
 
 
 
 
     writexml("gdata/"+tr+".txt");
 
 }
 
        int s;
 
    for(s=1;s<dicnumber+1;s++){
    System.out.println(s+","+dic[s]);
    }        
 
 
 
    }
 
 
      void writexml(String file){ 
 
    int s,sx;
 
try{ 
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file))); 
 
for(s=fastline;s<lastline+1;s++){  
for(sx=creditx;sx<credity+1;sx++){  
pw.print("<date>"); 
pw.print(date); 
pw.print("</date>");
pw.print("<index>"); 
pw.print(index[s]); 
pw.print("</index>");
pw.print("<credit>"); 
pw.print(credit[sx]); 
pw.print("</credit>");
pw.print("<value>"); 
pw.print(mat[s][sx]); 
pw.println("</value>"); 
}
}
 
System.out.println("ファイルに書きこみました。"); 
pw.close(); 
} catch(IOException ep){ System.out.println("入出力エラーです。"); } 
 
 
} 
 
}
 
 
package car;
 
 
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
 
public class readxls{
 
    int pointx,pointy;
    int px,py;
    int maxx,minx,miny,maxy;
int creditrow;
    int checkline,checkx;
    String[][] mat=new String[10000][500];
 
 
  void makedata(String file,int shnumber){  
 
 
 
      try{
 
    FileInputStream is = new FileInputStream(file);
    Workbook wb = new HSSFWorkbook(is);
    Sheet sh = wb.getSheetAt(shnumber);
 
    int s,sx;
    int h1,h2;
 
    String str;
    for(s=miny;s<maxy+1;s++){
    for(sx=minx;sx<maxx+1;sx++){
    mat[s][sx]="";
    }
    }
 
    for(s=miny;s<maxy+1;s++){
    Row row = sh.getRow(s-1);
     h1=0;
    if(row==null)h1=100;
    if(h1<50){
    for(sx=minx;sx<maxx+1;sx++){
    Cell cell = row.getCell(sx-1);
    str="";
    h2=0;
    if(cell==null)h2=100;
    if(h2<50){
    int type =cell.getCellType();
    str="";
  if(type==0)str=""+cell.getNumericCellValue();
  if(type==1)str=cell.getStringCellValue();
   mat[s][sx]=str;
    }
    }
    }
    }
 
 
 
 
      } catch (Exception e) {e.printStackTrace();}
 
 
 
 
 
 
 
 
  }
}
 
最終更新:2016年06月09日 05:51