zoukankan      html  css  js  c++  java
  • 用Java实现excel转txt

    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import jxl.Cell;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;
    public class exchange{
        public static void main(String[] args) {
            // 找到excel文件的路径
            String filepath = "e:\111.xls";
            try {
                Workbook workbook = Workbook.getWorkbook(new File(filepath));
                Sheet sheet = workbook.getSheet(0);
                //转成txt要保存的位置以及文件名
                File file = new File("e:/1.txt");
                FileWriter fw = new FileWriter(file);
                BufferedWriter bw = new BufferedWriter(fw);
                // j为行数,getCell("列号","行号")
                int j = sheet.getRows();
                int y = sheet.getColumns();
                for (int i = 0; i < j; i++) {
                    for(int x=0; x<y; x++){
                        Cell c = sheet.getCell(x, i);
                        String s = c.getContents();
                    //每一列用逗号隔开,并且第一列的最前边和最后一列的最后边不加逗号
                        if(x!=0 && StringUtils.isNotBlank(s))
                        bw.write(","+s);
                        else
                        bw.write(s);
                        bw.flush();
                    }
                    bw.newLine();
                    bw.flush();
                }
                System.out.println("写入转换结束");
            } catch (BiffException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    注意1:Excel文件格式一定要是xls的不能是xlsx的;如果是xlsx后缀的,要另存为xls格式的才能将xls格式的进行转换

    注意2:jxl.jar中封装的日期,对年份的读取默认是取后两位的,而月和日是原样输出。如果需要全部显示年份可以在String s = c.getContents();之后加个判断(找到Excel表中日期所在的列,假设日期在Excel表的第二列即x==1,则做如下判断)

    if(x == 1){

    s = "20"+s;

    }

    说明1:主要是用了文件操作的输入和输出,以及jxl.jar中封装的获取行和列还有读取日期并输出日期格式的方法

    说明2:一般我们配置的jar包或者Maven仓库中是没有jxl.jar这个jar包的,但是转换需要用到所以我们需要自己去添加jar包

    如何添加:在所属项目的maven的pom.xml中进行添加依赖,如下:

    <dependency>

    <groupId>net.sourceforge.jexcelapi</groupId>

    <artifactId>jxl</artifactId>

    <version>2.6.10</version>

    </dependency>

    添加完依赖之后则update或者install一下maven,maven会自动下载jxl.jar这个jar包的

    maven仓库更新完成之后jar包就有了,就可以import了,jxl中封装的getCell(),getContents()等方法就可以使用了。

  • 相关阅读:
    .net项目的svn Global ignore pattern
    Ionic开发中常见问题和解决方案记录
    iOS开发:mac使用svn管理项目
    iOS开发:本地数据存储-NSUserDefaults
    iOS开发:插件记录
    iOS开发:告诉git不要跟踪UserInterfaceState.xcuserstate
    发布 windows 10 universal app 时微软账号验证失败
    iOS开发:UINavigationController常用操作
    iOS开发:Swift多线程NSOperation的使用
    iOS开发:Swift多线程GCD的使用
  • 原文地址:https://www.cnblogs.com/cdlyy/p/9416974.html
Copyright © 2011-2022 走看看