国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java實現將txt文件轉成xls文件的方法

2024-07-14 08:42:31
字體:
來源:轉載
供稿:網友

最近項目用到txt文件和xls文件的轉換,這里記錄一下具體的思路。

下面利用java代碼實現txt轉xls,這里要使用到jxl.jar包,這個包是通過java來操作Excel表格的工具類庫。

該jar包支持字體、數字、日期操作,能夠修飾單元格屬性,還能夠支持圖像和圖表,基本上已經滿足我們的日常操作,最主要的是這套API是純Java實現的,在Windows和Linux操作系統下,它都可以正確的處理Excel文件。

具體實現代碼如下:

package test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;public class txtToxls {    //txt文本路徑    static String txtFilePath = "D://Super_PLU.txt";    //xls路徑    static String xlsFilePath = "D://Super_PLU.xls";    //每一列的列名    static String c1Name, c2Name, c3Name, c4Name, c5Name, c6Name, c7Name, c8Name;    public static void main(String args[]) {      // 將txt文件進行解析,保存為List      ArrayList<TxtFile> xlsList = getTxtInfos();      // 將List以xls保存      TransToExcel(xlsList);    }    private static ArrayList<TxtFile> getTxtInfos() {      ArrayList<TxtFile> txtFileList = new ArrayList<TxtFile>();      BufferedReader bufferedReader = null;      try {        // 這里注意指定文件的編碼格式        bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(txtFilePath), "gbk"));        String element = null;        int index = 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形式存儲          TxtFile txtFile = new TxtFile(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 (Exception e) {        e.printStackTrace();      } finally {        if (bufferedReader != null) {          try {            bufferedReader.close();          } catch (IOException e) {            e.printStackTrace();          }        }      }      return txtFileList;    }  private static void TransToExcel(ArrayList<TxtFile> txtFileList) {    WritableWorkbook book = null;    try {      // 創建一個xls文件      book = Workbook.createWorkbook(new File(xlsFilePath));      // 生成名為'商品信息'的工作表,這里參數0表示第一頁      WritableSheet sheet = book.createSheet("商品信息", 0);      // 在Label對象為每一列添加列名,即每一列的第一行            Label label1 = new Label(0, 0, c1Name);      Label label2 = new Label(1, 0, c2Name);      Label label3 = new Label(2, 0, c3Name);      Label label4 = new Label(3, 0, c4Name);      Label label5 = new Label(4, 0, c5Name);      Label label6 = new Label(5, 0, c6Name);      Label label7 = new Label(6, 0, c7Name);      Label label8 = new Label(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 (int i = 0; i < txtFileList.size(); i++) {        TxtFile p = txtFileList.get(i);         jxl.write.Number item_code = new jxl.write.Number(0, (i+1), p.item_code);        jxl.write.Number plu = new jxl.write.Number(1, (i+1), p.plu);        Label commodity = new Label(2, (i+1), p.commodity);        Label ingredient= new Label(3, (i+1), p.ingredient);        Label special = new Label(4, (i+1), p.special);        jxl.write.Number use_by_date = new jxl.write.Number(5, (i+1), p.use_by_date);        jxl.write.Number use_by_date_print = new jxl.write.Number(6, (i+1), p.use_by_date_print);        jxl.write.Number packge_by_date_print = new jxl.write.Number(7, (i+1), p.packge_by_date_print);        sheet.addCell(item_code);        sheet.addCell(plu);        sheet.addCell(commodity);        sheet.addCell(ingredient);        sheet.addCell(special);        sheet.addCell(use_by_date);        sheet.addCell(use_by_date_print);        sheet.addCell(packge_by_date_print);      }      book.write();      book.close();    } catch (Exception e) {      e.printStackTrace();;    }  }}  // txt文件model類  class TxtFile {    int item_code;    int plu;    String commodity;    String ingredient;    String special;    int use_by_date;    int use_by_date_print;    int packge_by_date_print;    public TxtFile(int item_code, int plu, String commodity, String ingredient, String special,int use_by_date, int use_by_date_print, int packge_by_date_print) {      this.item_code = item_code;      this.plu = plu;      this.commodity = commodity;      this.ingredient = ingredient;      this.special = special;      this.use_by_date = use_by_date;      this.use_by_date_print = use_by_date_print;      this.packge_by_date_print = packge_by_date_print;    }  }

以上這篇Java實現將txt文件轉成xls文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚东县| 广河县| 会同县| 景宁| 游戏| 理塘县| 镇康县| 屯留县| 新郑市| 台中县| 长治市| 青河县| 昂仁县| 江安县| 富阳市| 微博| 凌云县| 诏安县| 塔城市| 漳平市| 旬阳县| 台前县| 金门县| 德庆县| 开平市| 科技| 仁寿县| 库车县| 攀枝花市| 同德县| 新丰县| 南丰县| 新闻| 镇平县| 新晃| 九龙县| 西平县| 株洲市| 高阳县| 庆城县| 兴安县|