package com.zy.services.huiche.excel;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import com.zy.services.huiche.K;
import jxl.Workbook;
import jxl.write.Boolean;
import jxl.write.DateFormats;
import jxl.write.DateTime;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class excel2 {
public static boolean readfile1(String filepath,OutputStream os) throws FileNotFoundException, IOException {
WritableWorkbook workbook = Workbook.createWorkbook(os);
try {
File file = new File(filepath);
String encoding = "UTF-8";
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());
} else if (file.isDirectory()) {
System.out.println("文件夹");
String[] filelist = file.list();
int j=0;
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (readfile.isFile() && readfile.exists()) { // 判断文件是否存在
if(readfile.getName().indexOf(".txt")==-1){
continue;
}
WritableSheet sheet =workbook.createSheet(readfile.getName().replaceAll(".txt","").replaceAll("0","").replaceAll("1","").replaceAll("2","").replaceAll("3","").replaceAll("4","").replaceAll("5","").replaceAll("6","").replaceAll("7","").replaceAll("8","").replaceAll("9","").toLowerCase(),j);
InputStreamReader read = new InputStreamReader(
new FileInputStream(readfile), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
int m=1;
Label td1 = new Label(0,0,"合约");
sheet.addCell(td1);
Label td2 = new Label(1,0,"开仓方向");
sheet.addCell(td2);
Label td3 = new Label(2,0,"开仓价");
sheet.addCell(td3);
Label td4 = new Label(3,0,"平仓价");
sheet.addCell(td4);
Label td5 = new Label(4,0,"利润");
sheet.addCell(td5);
Label td6 = new Label(5,0,"MA");
sheet.addCell(td6);
Label td7 = new Label(6,0,"开仓时间");
sheet.addCell(td7);
Label td8 = new Label(7,0,"平仓时间");
sheet.addCell(td8);
Label td9 = new Label(8,0,"持仓时间");
sheet.addCell(td9);
Label td10 = new Label(9,0,"平仓类型");
sheet.addCell(td10);
Label td11 = new Label(10,0,"开仓数量");
sheet.addCell(td11);
Label td12 = new Label(11,0,"实际利润");
sheet.addCell(td12);
Label td13 = new Label(12,0,"TR阀值");
sheet.addCell(td13);
while ((lineTxt = bufferedReader.readLine()) != null) {
System.out.println(lineTxt);
String[] tds = lineTxt.split(",");
for(int t=0;t<tds.length;t++){
Label xuexiao = new Label(t,m,tds[t]);
sheet.addCell(xuexiao);
}
m++;
}
read.close();
j++;
} else {
System.out.println("找不到指定的文件");
}
}
workbook.write();
workbook.close();
os.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
public static boolean readfile2(String filepath,OutputStream os) throws FileNotFoundException, IOException {
WritableWorkbook workbook = Workbook.createWorkbook(os);
try {
File file = new File(filepath);
String encoding = "UTF-8";
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());
} else if (file.isDirectory()) {
System.out.println("文件夹");
String[] filelist = file.list();
int j=0;
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (readfile.isFile() && readfile.exists()) { // 判断文件是否存在
if(readfile.getName().indexOf(".txt")==-1){
continue;
}
WritableSheet sheet =workbook.createSheet(readfile.getName().replaceAll(".txt","").replaceAll("0","").replaceAll("1","").replaceAll("2","").replaceAll("3","").replaceAll("4","").replaceAll("5","").replaceAll("6","").replaceAll("7","").replaceAll("8","").replaceAll("9","").toLowerCase(),j);
InputStreamReader read = new InputStreamReader(
new FileInputStream(readfile), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
int m=1;
String trALL="合约号,策略周期,开仓参数,起始时间,结束时间,周期,胜点,期初权益,当前权益,交易手数,盈利手数,亏损手数,连续盈利手数,连续亏损手数,总盈利,总亏损,最高净值,最低净值,最大资产回撤,盈亏比,总手续费,净利润,年化收益率,胜率,收益风险比,凯利指数,成交量,成交量,成交量";
String[] trs=trALL.split(",");
for(int d=0;d<trs.length;d++){
Label td = new Label(d,0,trs[d]);
sheet.addCell(td);
}
while ((lineTxt = bufferedReader.readLine()) != null) {
System.out.println(lineTxt);
String[] tds = lineTxt.split(",");
for(int t=0;t<tds.length;t++){
if(t==2||t>4){
Number number = new Number (t,m,Double.parseDouble(tds[t]));
sheet.addCell(number);
}else{
Label xuexiao = new Label(t,m,tds[t]);
sheet.addCell(xuexiao);
}
}
m++;
}
read.close();
j++;
} else {
System.out.println("找不到指定的文件");
}
}
workbook.write();
workbook.close();
os.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
public static void main(String[] args) {
// String path="D:\\Log\\5MAGL\\1M1T9\\Statement";
// String path="D:\\Log\\BOLL\\5M1T1\\Statement";
String path="D:\\Log\\TJQS\\1M1T1\\Record";
//String path="D:\\Log\\Data";
// String path="D:\\Log\\QPJ\\1M1T\\Statement";
File f= new File(path + File.separator + "TJQS.xls") ; // 声明File对象
OutputStream out = null ; // 准备好一个输出的对象
try {
out = new FileOutputStream(f) ;
readfile1(path,out);
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 通过对象多态性,进行实例化
}
}
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import com.zy.services.huiche.K;
import jxl.Workbook;
import jxl.write.Boolean;
import jxl.write.DateFormats;
import jxl.write.DateTime;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class excel2 {
public static boolean readfile1(String filepath,OutputStream os) throws FileNotFoundException, IOException {
WritableWorkbook workbook = Workbook.createWorkbook(os);
try {
File file = new File(filepath);
String encoding = "UTF-8";
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());
} else if (file.isDirectory()) {
System.out.println("文件夹");
String[] filelist = file.list();
int j=0;
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (readfile.isFile() && readfile.exists()) { // 判断文件是否存在
if(readfile.getName().indexOf(".txt")==-1){
continue;
}
WritableSheet sheet =workbook.createSheet(readfile.getName().replaceAll(".txt","").replaceAll("0","").replaceAll("1","").replaceAll("2","").replaceAll("3","").replaceAll("4","").replaceAll("5","").replaceAll("6","").replaceAll("7","").replaceAll("8","").replaceAll("9","").toLowerCase(),j);
InputStreamReader read = new InputStreamReader(
new FileInputStream(readfile), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
int m=1;
Label td1 = new Label(0,0,"合约");
sheet.addCell(td1);
Label td2 = new Label(1,0,"开仓方向");
sheet.addCell(td2);
Label td3 = new Label(2,0,"开仓价");
sheet.addCell(td3);
Label td4 = new Label(3,0,"平仓价");
sheet.addCell(td4);
Label td5 = new Label(4,0,"利润");
sheet.addCell(td5);
Label td6 = new Label(5,0,"MA");
sheet.addCell(td6);
Label td7 = new Label(6,0,"开仓时间");
sheet.addCell(td7);
Label td8 = new Label(7,0,"平仓时间");
sheet.addCell(td8);
Label td9 = new Label(8,0,"持仓时间");
sheet.addCell(td9);
Label td10 = new Label(9,0,"平仓类型");
sheet.addCell(td10);
Label td11 = new Label(10,0,"开仓数量");
sheet.addCell(td11);
Label td12 = new Label(11,0,"实际利润");
sheet.addCell(td12);
Label td13 = new Label(12,0,"TR阀值");
sheet.addCell(td13);
while ((lineTxt = bufferedReader.readLine()) != null) {
System.out.println(lineTxt);
String[] tds = lineTxt.split(",");
for(int t=0;t<tds.length;t++){
Label xuexiao = new Label(t,m,tds[t]);
sheet.addCell(xuexiao);
}
m++;
}
read.close();
j++;
} else {
System.out.println("找不到指定的文件");
}
}
workbook.write();
workbook.close();
os.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
public static boolean readfile2(String filepath,OutputStream os) throws FileNotFoundException, IOException {
WritableWorkbook workbook = Workbook.createWorkbook(os);
try {
File file = new File(filepath);
String encoding = "UTF-8";
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());
} else if (file.isDirectory()) {
System.out.println("文件夹");
String[] filelist = file.list();
int j=0;
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (readfile.isFile() && readfile.exists()) { // 判断文件是否存在
if(readfile.getName().indexOf(".txt")==-1){
continue;
}
WritableSheet sheet =workbook.createSheet(readfile.getName().replaceAll(".txt","").replaceAll("0","").replaceAll("1","").replaceAll("2","").replaceAll("3","").replaceAll("4","").replaceAll("5","").replaceAll("6","").replaceAll("7","").replaceAll("8","").replaceAll("9","").toLowerCase(),j);
InputStreamReader read = new InputStreamReader(
new FileInputStream(readfile), encoding);// 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
int m=1;
String trALL="合约号,策略周期,开仓参数,起始时间,结束时间,周期,胜点,期初权益,当前权益,交易手数,盈利手数,亏损手数,连续盈利手数,连续亏损手数,总盈利,总亏损,最高净值,最低净值,最大资产回撤,盈亏比,总手续费,净利润,年化收益率,胜率,收益风险比,凯利指数,成交量,成交量,成交量";
String[] trs=trALL.split(",");
for(int d=0;d<trs.length;d++){
Label td = new Label(d,0,trs[d]);
sheet.addCell(td);
}
while ((lineTxt = bufferedReader.readLine()) != null) {
System.out.println(lineTxt);
String[] tds = lineTxt.split(",");
for(int t=0;t<tds.length;t++){
if(t==2||t>4){
Number number = new Number (t,m,Double.parseDouble(tds[t]));
sheet.addCell(number);
}else{
Label xuexiao = new Label(t,m,tds[t]);
sheet.addCell(xuexiao);
}
}
m++;
}
read.close();
j++;
} else {
System.out.println("找不到指定的文件");
}
}
workbook.write();
workbook.close();
os.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
public static void main(String[] args) {
// String path="D:\\Log\\5MAGL\\1M1T9\\Statement";
// String path="D:\\Log\\BOLL\\5M1T1\\Statement";
String path="D:\\Log\\TJQS\\1M1T1\\Record";
//String path="D:\\Log\\Data";
// String path="D:\\Log\\QPJ\\1M1T\\Statement";
File f= new File(path + File.separator + "TJQS.xls") ; // 声明File对象
OutputStream out = null ; // 准备好一个输出的对象
try {
out = new FileOutputStream(f) ;
readfile1(path,out);
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 通过对象多态性,进行实例化
}
}