Java实现将txt文件转成xls文件的方法
最近项目用到txt文件和xls文件的转换,这里记录一下具体的思路。
下面利用java代码实现txt转xls,这里要使用到jxl.jar包,这个包是通过java来操作Excel表格的工具类库。
该jar包支持字体、数字、日期操作,能够修饰单元格属性,还能够支持图像和图表,基本上已经满足我们的日常操作,最主要的是这套API是纯Java实现的,在Windows和Linux操作系统下,它都可以正确的处理Excel文件。
具体实现代码如下:
packagetest;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjxl.Workbook;
importjxl.write.Label;
importjxl.write.WritableSheet;
importjxl.write.WritableWorkbook;
publicclasstxtToxls{
//txt文本路径
staticStringtxtFilePath="D:\\Super_PLU.txt";
//xls路径
staticStringxlsFilePath="D:\\Super_PLU.xls";
//每一列的列名
staticStringc1Name,c2Name,c3Name,c4Name,c5Name,c6Name,c7Name,c8Name;
publicstaticvoidmain(Stringargs[]){
//将txt文件进行解析,保存为List
ArrayListxlsList=getTxtInfos();
//将List以xls保存
TransToExcel(xlsList);
}
privatestaticArrayListgetTxtInfos(){
ArrayListtxtFileList=newArrayList();
BufferedReaderbufferedReader=null;
try{
//这里注意指定文件的编码格式
bufferedReader=newBufferedReader(newInputStreamReader(newFileInputStream(txtFilePath),"gbk"));
Stringelement=null;
intindex=0;
while((element=bufferedReader.readLine())!=null){
//如果是此行为空,则跳过
if(element.trim().equals("")){
continue;
}
//第一行作为每列名称
String[]value=element.trim().split(",");
if(index==0){
c1Name=value[0];
c2Name=value[1];
c3Name=value[2];
c4Name=value[3];
c5Name=value[4];
c6Name=value[5];
c7Name=value[6];
c8Name=value[7];
index=1;
continue;
}
//从第二行开始读取每行内容,以TxtFile形式存储
TxtFiletxtFile=newTxtFile(Integer.parseInt(value[0]),Integer.parseInt(value[1]),value[2],value[3],value[4],Integer.parseInt(value[5]),Integer.parseInt(value[6]),Integer.parseInt(value[7]));
txtFileList.add(txtFile);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(bufferedReader!=null){
try{
bufferedReader.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
returntxtFileList;
}
privatestaticvoidTransToExcel(ArrayListtxtFileList){
WritableWorkbookbook=null;
try{
//创建一个xls文件
book=Workbook.createWorkbook(newFile(xlsFilePath));
//生成名为'商品信息'的工作表,这里参数0表示第一页
WritableSheetsheet=book.createSheet("商品信息",0);
//在Label对象为每一列添加列名,即每一列的第一行
Labellabel1=newLabel(0,0,c1Name);
Labellabel2=newLabel(1,0,c2Name);
Labellabel3=newLabel(2,0,c3Name);
Labellabel4=newLabel(3,0,c4Name);
Labellabel5=newLabel(4,0,c5Name);
Labellabel6=newLabel(5,0,c6Name);
Labellabel7=newLabel(6,0,c7Name);
Labellabel8=newLabel(7,0,c8Name);
//将定义好列名添加到工作表中
sheet.addCell(label1);
sheet.addCell(label2);
sheet.addCell(label3);
sheet.addCell(label4);
sheet.addCell(label5);
sheet.addCell(label6);
sheet.addCell(label7);
sheet.addCell(label8);
/*
*遍历传进来的List,把每一行的内容再顺序加入到工作表中,
*在生成数字单元格时,必须使用Number的完整包路径
*/
for(inti=0;i
以上这篇Java实现将txt文件转成xls文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。