您的位置:首页 > 其它

采用JXL包进行EXCEL数据写入操作

2012-11-09 17:34 417 查看
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class ExcelTest {
public static void main(String[] args) {
//writeData("Yannik","SheetOne",null);
writeData("MyTestExcel","FirstSheet",readData("MySrc.txt"));
}

public static Vector<DataSrc> readData(String filePath){

FileInputStream fis;
InputStreamReader isr;
BufferedReader br;

Vector<DataSrc> v = new Vector<DataSrc>();

try {
fis = new FileInputStream(new File(filePath));
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);

//For循环用于逐行读取txt的数据
try {
for(String s = br.readLine() ; s != null ; s = br.readLine()){
String s1 = s.substring(0, 12);
String s2 = s.substring(13, 19);
String s3 = s.substring(20, 25);
String s4 = s.substring(26);
DataSrc src = new DataSrc(s1, s2, s3, s4);
v.add(src);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return v;
}

/**
* 接受Vector数据,将数据写入到excel里边
* @param excelName
* @param sheetName
* @param vData
*/
public static void writeData(String excelName,String sheetName,Vector<DataSrc> vData) {
try {
String sExcelName = excelName + ".xls";
WritableWorkbook book = Workbook
.createWorkbook(new File(sExcelName));
WritableSheet sheet = book.createSheet(sheetName, 0);

int i = 0;
for(DataSrc src : vData){
Label label1 = new Label(0,i,src.getsDataFir());
Label label2 = new Label(1,i,src.getsDataSec());
Label label3 = new Label(2,i,src.getsDataThi());
Label label4 = new Label(3,i,src.getsDataFor());

try {
sheet.addCell(label1);
sheet.addCell(label2);
sheet.addCell(label3);
sheet.addCell(label4);
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

i++;
}

book.write();
try {
book.close();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐