package wage;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.File;
public class pro {
String[] name=new String[1000];
int number,s;
String[][] mat=new String[500][200];
int fastline,lastline,prefline;
String[] credit=new String[200];
String[] age=new String[300];
String[] sex=new String[300];
String[] school=new String[300];
String[] size=new String[300];
int tr;
int creditx,credity;
int maxx,maxy;
String bus,nen;
public static void main(String[] args) {
pro te=new pro();
}
pro(){
int n=0;
File ff=new File("data");
String[] f=ff.list();
int page;
for(page=0;page<f.length;page++){
nen=f[page];
nen=nen.replace("h","");
nen=nen.substring(0,2);
namex sub=new namex();
sub.makedata("data/"+f[page]);
name=sub.name;
number=sub.number;
System.out.println(number);
maxx=200;
maxy=400;
for(tr=0;tr<number;tr++){
readxls sub2=new readxls();
sub2.maxx=maxx;
sub2.maxy=maxy;
sub2.makedata("data/"+f[page],tr);
mat=sub2.mat;
bus=name[tr];
bus=bus.replace("・","");
bus=bus.replace(",","");
bus=bus.replace(",","");
bus=rev(bus);
bus=bus.replace("C","");
bus=bus.replace("D","");
bus=bus.replace("F","");
bus=bus.replace("E","");
bus=bus.replace("G","");
bus=bus.replace("I","");
bus=bus.replace("J","");
bus=bus.replace("K","");
bus=bus.replace("H","");
bus=bus.replace("L","");
bus=bus.replace("M","");
bus=bus.replace("N","");
bus=bus.replace("O","");
bus=bus.replace("P","");
bus=bus.replace("Q","");
bus=bus.replace("R","");
bus=bus.replace("R","");
bus=bus.replace("T","");
bus=bus.replace(" ","");
bus=bus.replace(" ","");
writehtml("ren.html");
int sx,h,indexline;
indexline=0;
fastline=0;
for(sx=1;sx<11;sx++){
for(s=1;s<50;s++){
h=0;
if(mat[s][sx].indexOf("歳")>-1)h=h+1;
if(mat[s+1][sx].indexOf("~")>-1)h=h+1;
if(fastline==0)h=h+1;
if(h==3)indexline=sx;
if(h==3)fastline=s-1;
}
}
lastline=0;
for(s=fastline+1;s<maxy;s++){
h=0;
if(mat[s][indexline].indexOf("~")>-1)lastline=s;
}
System.out.println("a"+lastline);
int creditline=0;
for(s=1;s<fastline;s++){
for(sx=indexline;sx<maxx-5;sx++){
h=0;
if(mat[s][sx].indexOf("年")>-1)h=h+1;
if(mat[s][sx+1].indexOf("勤")>-1)h=h+1;
if(creditline==0)h=h+1;
if(h==3)creditline=s;
if(h==3)creditx=sx;
}
}
credity=creditx+31;
age[fastline]="合計";
for(s=fastline+1;s<lastline+1;s++){
age[s]=mat[s][indexline];
age[s]=age[s].replace("\n","");
}
for(s=fastline+1;s<lastline+1;s++){
age[s]=age[s].replace(" ","");
age[s]=age[s].replace(" ","");
}
for(s=fastline+1;s<lastline+1;s++){
sex[s]="";
}
sex[fastline]="合計";
for(s=fastline+1;s<lastline+1;s++){
if(age[s].indexOf("男")>-1)sex[s]="男";
if(age[s].indexOf("女")>-1)sex[s]="女";
if(sex[s].length()<1)sex[s]=sex[s-1];
System.out.println(age[s]+","+school[s]);
}
for(s=fastline+1;s<lastline+1;s++){
school[s]="";
}
school[fastline]="合計";
for(s=fastline+1;s<lastline+1;s++){
if(age[s].indexOf("短大")>-1)school[s]="短大";
if(age[s].indexOf("大学")>-1)school[s]="大学";
if(age[s].indexOf("高校")>-1)school[s]="高校";
if(age[s].indexOf("中学")>-1)school[s]="中学";
if(age[s].indexOf("計")>-1)school[s]="合計";
if(school[s].length()<1)school[s]=school[s-1];
System.out.println(age[s]+","+school[s]);
}
for(sx=creditx;sx<credity+1;sx++){
credit[sx]=mat[creditline][sx]+mat[creditline+1][sx];
credit[sx]=credit[sx].replace("\n","");
credit[sx]=credit[sx].replace(" ","");
credit[sx]=credit[sx].replace(" ","");
}
for(sx=creditx+1;sx<credity+1;sx++){
size[sx]="";
}
size[creditx]="合計";
for(sx=creditx+1;sx<credity+1;sx++){
h=0;
if(credit[sx].indexOf("年齢")>-1)h=h+1;
if(size[sx-1].equals("合計"))h=h+1;
if(h==2)size[sx]="1000人以上";
h=0;
if(credit[sx].indexOf("年齢")>-1)h=h+1;
if(size[sx-1].equals("1000人以上"))h=h+1;
if(h==2)size[sx]="1000人以下";
h=0;
if(credit[sx].indexOf("年齢")>-1)h=h+1;
if(size[sx-1].equals("1000人以下"))h=h+1;
if(h==2)size[sx]="100人以下";
if(size[sx].length()<1)size[sx]=size[sx-1];
}
System.out.println("a"+fastline);
System.out.println("b"+lastline);
System.out.println("c"+creditx);
System.out.println("d"+credity);
System.out.println(creditline);
n=n+1;
writexml("gdata/"+n+".txt");
}
}
}
String rev(String va) {
StringBuilder sb = new StringBuilder(va);
for (int i = 0;i< sb.length(); i++) {
int c = (int) sb.charAt(i);
if ((c >= 0xFF10 && c <= 0xFF19) || (c >= 0xFF21 && c <= 0xFF3A) || (c >= 0xFF41 && c <= 0xFF5A)) {
sb.setCharAt(i, (char) (c - 0xFEE0));
}
}
va = sb.toString();
return va;
}
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("<year>");
pw.print(nen);
pw.print("</year>");
pw.print("<bus>");
pw.print(bus);
pw.print("</bus>");
pw.print("<sex>");
pw.print(sex[s]);
pw.print("</sex>");
pw.print("<school>");
pw.print(school[s]);
pw.print("</school>");
pw.print("<age>");
pw.print(age[s]);
pw.print("</age>");
pw.print("<size>");
pw.print(size[sx]);
pw.print("</size>");
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("入出力エラーです。"); }
}
void writehtml(String file){
int s,sx;
try{
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file)));
pw.println("<html>");
pw.println("<head>");
pw.println("<meta charset=\"UTF-8\">");
pw.println("</head>");
pw.println("<body>");
pw.print("<table rules=\"all\">");
pw.print("<tr>");
pw.print("<td>");
pw.print("");
pw.print("</td>");
for(sx=1;sx<maxx+1;sx++){
pw.print("<th>");
pw.print(sx);
pw.print("</th>");
}
pw.println("</tr>");
for(s=1;s<maxy+1;s++){
pw.print("<tr>");
pw.print("<th>");
pw.print(s);
pw.print("</th>");
for(sx=1;sx<maxx+1;sx++){
pw.print("<td>");
pw.print(mat[s][sx]);
pw.print("</td>");
}
pw.println("</tr>");
}
pw.println("</table>");
pw.println("</body>");
pw.println("</html>");
System.out.println("ファイルに書きこみました。");
pw.close();
} catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
}
package wage;
import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
public class namex{
String[] name=new String[1000];
int number;
void makedata(String file){
try{
int s;
FileInputStream is = new FileInputStream(file);
Workbook wb = new HSSFWorkbook(is);
number=wb.getNumberOfSheets();
for(s=0;s<number;s++){
name[s]=wb.getSheetName(s);
}
} catch (Exception e) {e.printStackTrace();}
}
}
package wage;
import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
public class readxls {
int maxx,maxy;
Cell cc;
String[][] mat=new String[50000][500];
int[][] color= new int[50000][500];
void makedata(String file,int number){
try{
FileInputStream is = new FileInputStream(file);
Workbook wb = new HSSFWorkbook(is);
Sheet sh = wb.getSheetAt(number);
int s,sx,j,h;
String bb;
CellStyle style = wb.createCellStyle();
for(s=1;s<maxy+1;s++){
for(sx=1;sx<maxx+1;sx++){
mat[s][sx]="";
}}
for(s=1;s<maxy+1;s++){
Row row = sh.getRow(s-1);
j=0;
if(row==null)j=100;
if(j<50){
for(sx=1;sx<maxx+1;sx++){
cc = row.getCell(sx-1);
h=0;
if(cc==null)h=100;
if(h<50){
int type =cc.getCellType();
bb="";
if(type==1)bb=cc.getStringCellValue();
if(type==0)bb=""+cc.getNumericCellValue();
mat[s][sx]=bb;
}
}
}
}
} catch (Exception e) {e.printStackTrace();}
}
}
最終更新:2016年06月11日 18:42