读取一个excel文件其中一列的字符串数据,然后循环把这列的所有数据取出来进行单个解密,解密之后再指定位置存储到原excel文件中的其他列里面,急急急 求各位大虾帮忙,在下感激不尽 (java代码)拜托各位了,以前做项目主要是处理业务逻辑,在这方面关注的比较少,最多也就会单纯的些个读,写,拜托各位能解决的大虾不吝相助 ,感激不尽 

解决方案 »

  1.   

    先把一列数据读出来,lz不是会读数据么;然后解密,lz要用什么算法解密;最后把加密好的数据再存回去就可以了。这个和简单的读写有区别么
      

  2.   


    归根到底还是操作excel的业务逻辑问题:
    我写了一个更改的实现。。解密部分lz自己加吧 /**
     * 更改excel文件列
     * @param filePath
     *  文件包装对象
     * @throws Exception
     */
    public static void updateXLS(File filePath) {
    try {
    // 获取excel工作薄
    Workbook rwb = Workbook.getWorkbook(filePath);
    // 将要修改的excel copy到一个写入同一个excel--当前文件更改
    WritableWorkbook wwk = Workbook.createWorkbook(filePath, rwb);
    // 获取第一个sheet
    WritableSheet ws = wwk.getSheet(0);
    // 将sheet中的所有行读取出来
    int rows = ws.getRows();
    // 从第一行开始取出列。。连同第一行标题列一起覆盖
    for (int d = 0; d < rows; d++) {
    // 取出第一列的数据,从0开始
    Cell b00 = ws.getCell(0, d);
    String strb = b00.getContents();

    // 解密操作...

    // 将第一列的数据写入覆盖第三列,从0开始
    Label label = new Label(2, d, strb);
    // 修改写入表格列
    ws.addCell(label);
    }
    wwk.write();
    wwk.close();
    rwb.close();
    } catch (Exception e) {
    System.out.println(e.getMessage());
    }
    }
      

  3.   

    密之后再指定位置存储到原excel文件中的其他列里面,这个具体是存储到哪
      

  4.   


    // 将第一列的数据写入覆盖第三列,从0开始
    Label label = new Label(2, d, strb); //这句代码是存储到第三列。。2为列数,d为行数。循环出来就是所有行的第三列。。
      

  5.   

    你是用的什么读取excel的啊 的有专门的包的 poi jacob jxl等....
      

  6.   

    网上搜搜jxl,java加密、解密这个关键词就能解决你的问题了。
      

  7.   

    谢谢各位大虾的热心帮助  问题解决了 我是用swing写个这样的工具 操作没问题了,可是使用java对excel文件操作完后为什么会造成文件破损?