Java将TXT上的数据转换成excel里面

package test;
 
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.List;
 
 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 ConvertTxtExcel {
     private static List<Account> list = new ArrayList<Account>();
     private final static String TXTFILENAME = "F:\\\\myTxt.txt";
     private final static String EXCELFILENAME = "F:\\\\myExcel.xls";
 
     public static void main(String[] args) {
         getTxt();
         txtToExcel();
     }
 
     private static void txtToExcel() {
         WritableWorkbook wwk = null;
         try {
             wwk = Workbook.createWorkbook(new File(EXCELFILENAME));
             WritableSheet ws = wwk.createSheet("Test1", 0);
             Label label1 = new Label(0, 0, "id");
             Label label2 = new Label(1, 0, "user");
             Label label3 = new Label(2, 0, "paw");
             Label label4 = new Label(3, 0, "age");
             // 将定义好的单元格添加到工作表中
             ws.addCell(label1);
             ws.addCell(label2);
             ws.addCell(label3);
             ws.addCell(label4);
             /*
              * 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义
              */
             for (int i = 0; i < list.size(); i++) {
                 Account p = list.get(i);
                 jxl.write.Number id = new jxl.write.Number(0, (i + 1), p.getId());
                 Label label5 = new Label(1, (i + 1), p.getUser());
                 Label label6 = new Label(2, (i + 1), p.getPaw());
                 jxl.write.Number age = new jxl.write.Number(3, (i + 1), p.getAge());
                 ws.addCell(id);
                 ws.addCell(label5);
                 ws.addCell(label6);
                 ws.addCell(age);
             }
             wwk.write();
             wwk.close();
         } catch (IOException e) {
             e.printStackTrace();
         } catch (RowsExceededException e) {
             e.printStackTrace();
         } catch (WriteException e) {
             e.printStackTrace();
         }
         System.out.println("完成");
     }
 
     private static List<Account> getTxt() {
         try {
             BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(TXTFILENAME), "utf-8"));
             String line = "";
             while ((line = br.readLine()) != null) {
                 //TXT里面的数据都是用-隔开的,例如:1-haha-123123-12
                 String[] arr = line.split("-");
                 Account account = new Account(Integer.parseInt(arr[0]), arr[1], arr[2], Integer.parseInt(arr[3]));
                 list.add(account);
             }
         } catch (NumberFormatException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         }
         return list;
     }
 }

注意事项:需要导 jxl.jar

转载Java将TXT上的数据转换成excel里面 (shuzhiduo.com)

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值