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

 1 package test;
 2
 3 import java.io.BufferedReader;
 4 import java.io.File;
 5 import java.io.FileInputStream;
 6 import java.io.IOException;
 7 import java.io.InputStreamReader;
 8 import java.util.ArrayList;
 9 import java.util.List;
10
11 import jxl.Workbook;
12 import jxl.write.Label;
13 import jxl.write.WritableSheet;
14 import jxl.write.WritableWorkbook;
15 import jxl.write.WriteException;
16 import jxl.write.biff.RowsExceededException;
17
18 public class ConvertTxtExcel {
19     private static List<Account> list = new ArrayList<Account>();
20     private final static String TXTFILENAME = "F:\\\\myTxt.txt";
21     private final static String EXCELFILENAME = "F:\\\\myExcel.xls";
22
23     public static void main(String[] args) {
24         getTxt();
25         txtToExcel();
26     }
27
28     private static void txtToExcel() {
29         WritableWorkbook wwk = null;
30         try {
31             wwk = Workbook.createWorkbook(new File(EXCELFILENAME));
32             WritableSheet ws = wwk.createSheet("Test1", 0);
33             Label label1 = new Label(0, 0, "id");
34             Label label2 = new Label(1, 0, "user");
35             Label label3 = new Label(2, 0, "paw");
36             Label label4 = new Label(3, 0, "age");
37             // 将定义好的单元格添加到工作表中
38             ws.addCell(label1);
39             ws.addCell(label2);
40             ws.addCell(label3);
41             ws.addCell(label4);
42             /*
43              * 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义
44              */
45             for (int i = 0; i < list.size(); i++) {
46                 Account p = list.get(i);
47                 jxl.write.Number id = new jxl.write.Number(0, (i + 1), p.getId());
48                 Label label5 = new Label(1, (i + 1), p.getUser());
49                 Label label6 = new Label(2, (i + 1), p.getPaw());
50                 jxl.write.Number age = new jxl.write.Number(3, (i + 1), p.getAge());
51                 ws.addCell(id);
52                 ws.addCell(label5);
53                 ws.addCell(label6);
54                 ws.addCell(age);
55             }
56             wwk.write();
57             wwk.close();
58         } catch (IOException e) {
59             e.printStackTrace();
60         } catch (RowsExceededException e) {
61             e.printStackTrace();
62         } catch (WriteException e) {
63             e.printStackTrace();
64         }
65         System.out.println("完成");
66     }
67
68     private static List<Account> getTxt() {
69         try {
70             BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(TXTFILENAME), "utf-8"));
71             String line = "";
72             while ((line = br.readLine()) != null) {
73                 //TXT里面的数据都是用-隔开的,例如:1-haha-123123-12
74                 String[] arr = line.split("-");
75                 Account account = new Account(Integer.parseInt(arr[0]), arr[1], arr[2], Integer.parseInt(arr[3]));
76                 list.add(account);
77             }
78         } catch (NumberFormatException e) {
79             e.printStackTrace();
80         } catch (IOException e) {
81             e.printStackTrace();
82         }
83         return list;
84     }
85 }

ConvertTxtExcel

结果:

注意事项:需要导 jxl.jar

时间: 2024-10-14 21:15:33

Java将TXT上的数据转换成excel里面的相关文章

利用JAVA反射机制将JSON数据转换成JAVA对象

net.sf.json.JSONObject为我们提供了toBean方法用来转换为JAVA对象, 功能更为强大,  这里借鉴采用JDK的反射机制, 作为简单的辅助工具使用,   有些数据类型需要进行转换, 根据需要进行扩展,  这里可以处理Long和Date类型. 只支持单个JSONObject对象的处理,   对于复杂的JSON对象, 如JSONArray数组, 可考虑先遍历, 获取JSONObject后再进行处理. package common; import java.lang.refle

java如何把char型数据转换成int型数据(转)

一字符串,String=“2324234535”:把第i个数取出来时是char型的:char temp=String.charAt(i)如何把char型转换成int型?我需要求个尾数之和,如:123的各位数之和为6. 每个字符取出来,得到char型的1,2,3,4,5:但是求和得到的结果是ASCII码值 处理办法: (1)把char转成字符串, Integer.parseInt(""+'1')或String a = "12345";int d = Integer.p

java读取txt文件的2中方法---并将内容(每一行以固定的字符分割切成2段)存到map中去

#java读取txt文件的第一种方法 /** * 方法:readTxt * 功能:读取txt文件并把txt文件的内容---每一行作为一个字符串加入到List中去 * 参数:txt文件的地址 * 返回:Map * @param file * @return * @throws IOException */ public static Map<String, String> readTxt(String file) throws IOException { Map<String, Strin

将JSON数据转换成Java的实体类

思路:首先将JSON格式的数据转换成JSONObject,然后将JSONObject转换成Java的实体类(其中类属性包括List等类型) Java实体类: SearchFilter 类 1 public class SearchFilter { 2 private String groupOp; 3 4 private List<SearchRule> rules; 5 6 public String getGroupOp() { 7 return groupOp; 8 } 9 10 pub

Java基本数据转换成Json代码

JSON是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.是移动开发中数据客户端和服务器端数据交互的不二选择; 尤其是现在HTML5的流行,更显着使用Json 完成数据交互的重要性. 在这里, 我将演示一下Java基本数据转换为Json代码 Json必需包 json-lib-2.3-jdk15.jar commons-lang-2.4.jar commons-logging-1.0.4.jar ezmorph-1.0.6.jar commons-collections

java 导出成EXCEL或XML

原文:java 导出成EXCEL或XML 源代码下载地址:http://www.zuidaima.com/share/1550463713774592.htm java 导出成EXCEL或XML, 纯手工写的. 复制到eclipse中去直接运行该类,就可以看到效果了. package com.zuidaima.file.exam.test; import java.io.BufferedOutputStream; import java.io.DataOutputStream; import j

将Excel表格数据转换成Datatable

/// <summary> /// 将Excel表格数据转换成Datatable /// </summary> /// <param name="fileUrl">文件地址</param> /// <param name="table">table命名</param> /// <returns></returns> public DataTable GetExcelDat

将行数据转换成Java(POJO)对象

工作中经常会遇到将行数据转换成Java(POJO)对象的场景,其中关于字段校验和类型转换的处理繁琐而冗余,对于有代码洁癖的人着实不能忍.这里分享下自己封装的工具代码,也许能够帮助你更简单地完成此类任务. 先将以下五个文件加入你豪华午餐(项目??)中 FieldItem: /** * * @author lichmama * */ public class FieldItem { public int getIndex() { return index; } public void setInde

我爱java系列之---【如何把数据库中查到的Skulist数据转换成elastic索引库中SkuInfo类数据?】

这里采用的是阿里的json转换,比传统的遍历然后再一个一个封装速度快多了.(例:sku类转换称skuinfo类) public void importDataToEs(String spuId) { List<Sku> skuList = skuFeign.findListBySpuId(spuId); if (null == skuList){ throw new RuntimeException("此商品对应的库存数据为空,无数据导入索引库:"+spuId); } //