package jjj;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class KaiShi {
public static ArrayList<String> filelistha = new ArrayList<String>();
public static String shijian = "*****没有读取到数据******"; // 时间
public static String jbqk = "*******没有读取到数据********"; // 基本情况 表4
public static String jbqk2 = "*******没有读取到数据********"; // 基本情况 表9
public static String yineichacuo = "*******没有读取到数据********"; // /自己处理的一类差错
public static String chacuotixian = "*******没有读取到数据********"; // /差错体现 表4
public static ArrayList<String> yujingshuju = new ArrayList<String>(); // /差错体现
// 表8
// 共10个
public static ArrayList<String> zuihouyige = new ArrayList<String>(); // /差错体现
// 表6
public static String[] bArray = { "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0" }; // 26
public static void main(String[] args) {
KaiShi k = new KaiShi();
k.refreshFileList(".");
for (int i = 0; i < filelistha.size(); i++) {
k.jibenqingkuang(filelistha.get(i).toString());
}
for (int i = 0; i < filelistha.size(); i++) {
k.jibenqingkuang(filelistha.get(i).toString());
}
System.out.println(shijian);
System.out.println(jbqk);
System.out.println(jbqk2);
System.out.println(yineichacuo);
System.out.println(chacuotixian);
for (int i = 0; i < yujingshuju.size(); i++) {
System.out.println(yujingshuju.get(i).toString());
}
for (int i = 0; i < zuihouyige.size(); i++) {
System.out.println(zuihouyige.get(i).toString());
}
try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw
/* 读入TXT文件 */
String pathname = "lib/1.xml"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
File filename = new File(pathname); // 要读取以上路径的input。txt文件
InputStreamReader reader = new InputStreamReader(
new FileInputStream(filename),"utf-8");
BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言
String h;
String line = "";
line = br.readLine();
h = line;
while (line != null) {
line = br.readLine(); // 一次读入一行数据
h = h + line;
}
//System.out.print(h);//h是全部
h = h.replaceAll("jxla1x",shijian);
h = h.replaceAll("jxla2x",jbqk);
h = h.replaceAll("jxla3x",jbqk2);
h = h.replaceAll("jxla4x",yineichacuo);
h = h.replaceAll("jxla5x",chacuotixian);
for (int i = 0; i < yujingshuju.size(); i++) {
//System.out.println(yujingshuju.get(i).toString());
int f = i+6;
h = h.replaceAll("jxla"+f+"x",yujingshuju.get(i).toString());
}
for (int i = 0; i < zuihouyige.size(); i++) {
//System.out.println(zuihouyige.get(i).toString());
int f = i+1;
h = h.replaceAll("jxlb"+f+"x",zuihouyige.get(i).toString());
}
File f = new File("报告.doc");
if (!f.exists()) {
f.createNewFile();
}
OutputStreamWriter write = new OutputStreamWriter(
new FileOutputStream(f),"utf-8");
BufferedWriter writer = new BufferedWriter(write);
writer.write(h);
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void refreshFileList(String strPath) {// 便利目录
File dir = new File(strPath);
File[] files = dir.listFiles();
if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
refreshFileList(files[i].getAbsolutePath());
} else {
String fileName = files[i].getName();
String fileTyle = fileName.substring(fileName.lastIndexOf("."),
fileName.length());
if (fileTyle.equals(".xls")) {
filelistha.add(fileName);
}
}
}
}
public void jibenqingkuang(String wej) {
int i;
Sheet sheet1;
Workbook book1;
String a1x = "****", a2x = "****", a3x = "****";
String a4x = "****", a5x = "****", a6x = "****";
String a7x = "****", a8x = "****", a9x = "****";
String a10x = "****", a11x = "****", a12x = "****";
Cell cell1, cell2, cell3, cell4, cell5, cell6, cell7, cell8, cell9, cell10, cell11, cell12, cell13;
try {
book1 = Workbook.getWorkbook(new File(wej));
sheet1 = book1.getSheet(0);
cell1 = sheet1.getCell(0, 0);// 标题
// /////////////////////////////////基本情况1111111111111
if (cell1.getContents().equals("预警处理统计表")) { // 表4
shijian = sheet1.getCell(1, 1).getContents();// 得到时间
shijian = shijian.substring(0, 7);
shijian = shijian.replaceAll("-0", "年");
shijian = shijian.replaceAll("-", "年");
shijian = shijian + "月";
i = 1;
while (true) {
// 获取每一行的单元格
cell1 = sheet1.getCell(0, i);// (列,行)
cell3 = sheet1.getCell(2, i);
if ("总计".equals(cell1.getContents())) {
cell2 = sheet1.getCell(1, i);
cell3 = sheet1.getCell(2, i);
cell4 = sheet1.getCell(3, i);
cell5 = sheet1.getCell(4, i);
cell6 = sheet1.getCell(5, i);
cell7 = sheet1.getCell(6, i);
a1x = cell3.getContents();
a2x = cell4.getContents();
a3x = cell5.getContents();
DecimalFormat df = new DecimalFormat("######0.00");
Double is = Double.parseDouble(a2x)
/ Double.parseDouble(a1x) * 100;
Double is2 = Double.parseDouble(a3x)
/ Double.parseDouble(a1x) * 100;
jbqk = shijian + "份,我行共监督预警相关业务" + a1x + "笔,处理预警" + a1x
+ "笔,预警处理完成情况达100% ,其中:正常业务" + a2x + "笔,占比"
+ df.format(is) + "%;一类差错业务" + a3x + "笔,占比"
+ df.format(is2) + "%;";
}
if (i >= 1111 || "总计".equals(cell1.getContents())) { // 如果行数大于//
// 如果读取的数据为空
break;
}
i++;
}
// /////////////////////////////////差错体现
i = 4;
String gg = "差错主要体现在:";
while (true) {
cell1 = sheet1.getCell(0, i);// (列,行)
cell2 = sheet1.getCell(1, i);
cell5 = sheet1.getCell(4, i);
if (i >= 1111 || "总计".equals(cell1.getContents())) { // 如果行数大于//
chacuotixian = gg; // 如果读取的数据为空
break;
}
if (!"".equals(cell5.getContents())) {
gg = gg + cell2.getContents() + "差错"
+ cell5.getContents() + "笔、";
}
i++;
}
}
// /////////////////////////////////基本情况22222222222222
if (cell1.getContents().equals("预警业务种类统计分析表")) { // 表9
i = 1;
while (true) {
// 获取每一行的单元格
cell1 = sheet1.getCell(0, i);// (列,行)
cell2 = sheet1.getCell(1, i);
cell3 = sheet1.getCell(2, i);
if ("小计".equals(cell2.getContents())) {
cell4 = sheet1.getCell(3, i);
cell5 = sheet1.getCell(4, i);
cell6 = sheet1.getCell(5, i);
cell7 = sheet1.getCell(6, i);
cell8 = sheet1.getCell(7, i);
cell9 = sheet1.getCell(8, i);
cell10 = sheet1.getCell(11, i);
cell11 = sheet1.getCell(12, i);
a1x = cell4.getContents();
a2x = cell5.getContents();
a3x = cell6.getContents();
a4x = cell7.getContents();
a5x = cell8.getContents();
a6x = cell9.getContents();
a7x = cell10.getContents();
a8x = cell11.getContents();
jbqk2 = "处理会计业务预警" + a1x + "笔,占比" + a2x + ";信贷业务预警"
+ a3x + "笔,占比" + a4x + ";财务业务预警" + a5x + "笔,占比"
+ a6x + ";�