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