我不会写JAVA
这是我上过JAVA课到现在写过的第一个JAVA程序…
因为我之前的工作,我得到了1000(可能不到1000)个uid,和对应的event数,start数
老大表示文本的格式不好看,所以想让我导入到EXCEL中,这样方便排序。
作为一个小白,从来没有使用过库(除了标准库),不过我记着组内有个人的JAVA程序有把EXCEL内容提取的程序。
于是去问他,他给我介绍了POI。上网下了它的包,发现jar包就在其中,于是导入poi-3.8-20120326.jar这个看起来最像的包。
关于EXCEL有一个”Quick Guide“,特别简单,照着画画就写出了程序。
简单的出乎我意料,以前看这种东西的时候都是云里雾里的,不得不说POI这个项目的文档写的非常好。
倒是写文件读取难道了我,当时学的就不扎实,现在更不记着那些函数,只记着一个buffer什么什么的是用来读取文件的。
手头没书,也懒得去找电子书,在网上搜搜,拼拼也搞定了。
可是我完全不知道JAVA程序是怎么组织的,写的时候各种报错,然后照着错误提示慢慢修改,大多是类声明什么的放的位置不对,反正最终让我搞出这么个怪物来,两个类(汗!看别人的JAVA程序一个类里好长,我却分了两个类),感觉读文本应该跟写EXCEL分开。
下面是代码
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
//import org.apache.poi.ss.usermodel.Workbook;
public class write_to_excel {
private static FileOutputStream fileout;
private FileInputStream filein;
private FileReader fr;
//private FileReader fr = new FileReader("")
//private BufferedReader br = new BufferedReader(fr);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//New Workbook
Workbook wb = new HSSFWorkbook();
try {
fileout = new FileOutputStream("C:\\Users\\root\\Desktop\\total.xls");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Workbook wb_sheet = new HSSFWorkbook();
Sheet sheet = wb.createSheet("new sheet");
Row row = sheet.createRow((short)0);
row.createCell(0).setCellValue("uid_s");
row.createCell(1).setCellValue("event");
row.createCell(2).setCellValue("start");
read_txt rt = new read_txt();
for (int i= 1; i < 958; i++ ) {
rt.read_line();
Row row1 = sheet.createRow((short)i);
row1.createCell(0).setCellValue(rt.uid_s);
row1.createCell(1).setCellValue(rt.event);
row1.createCell(2).setCellValue(rt.start);
}
try {
wb.write(fileout);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fileout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class read_txt {
FileReader fr;
BufferedReader br;
String uid_s ="";
String event="";
String start="";
public read_txt() {
try {
fr = new FileReader("C:\\Users\\root\\Desktop\\totalevent.txt");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
br = new BufferedReader(fr);
}
void read_line() {
try {
uid_s = br.readLine();
event = br.readLine();
start = br.readLine();
//event.replace("event: ", "");
//start.replace("start: ", "");
event = event.substring(7);
start = start.substring(7);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
如果有好心人指导,我会虚心请教。