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); } privatestaticArrayList getTxtInfos(){ ArrayList txtFileList=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(ArrayList txtFileList){ 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文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。