前几个月,和老师一起整理数据,需要处理excel表格。就在网上找了jxl.jar。使用中遇到了一些问题。下面和大家分享一下。

其中一部分问题是把excel中的一列(id)变成7位数的id。(比如,原来id是4,excel的名称是127,新的excel中id要变成1270004.id是56,就要变成1270056)。其他列不变。

package datainput3;

import java.io.File;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import jxl.Cell;

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

import java.io.File;

import java.io.IOException;

import jxl.Workbook;

import jxl.write.Label;

import jxl.write.Number;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

import jxl.write.biff.RowsExceededException;

import java.io.File;

import java.io.IOException;

import jxl.Workbook;

import jxl.read.biff.BiffException;

import jxl.write.Label;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

import jxl.write.biff.RowsExceededException;

public class Main {

//excel转七位

public static void main(String[] args) throws IOException, RowsExceededException, WriteException{

// TODO Auto-generated method stub

String nine = new String();

String seven = new String();

String goal = new String();

String name = new String();

nine = "127";//原excel的名字

seven = "E:\\wenwu\\access转excel";//原excel的存贮位置

goal = "E:\\wenwu\\excel转7位excel";//改变id后excel的存贮位置

name = "127";//改变id后Excel的名字

try{

//打开空的excel

Workbook wb = Workbook.getWorkbook(new File(goal + "\\" + name + ".xls"));

//打开文件的一个副本,并且指定数据写回到原文件

WritableWorkbook workbook = Workbook.createWorkbook(new File(goal + "\\" + name + ".xls"),wb);

//打开两张sheet,重命名为Material_Info,Material_Index

WritableSheet sheet3 = workbook.createSheet("Material_Info", 0);

WritableSheet sheet4 = workbook.createSheet("Material_Index", 1);

String str3 = new String();

str3 = nine;

int intstr3 = Integer.valueOf(str3).intValue();

//打开原excel

File f = new File(seven + "\\" + nine + ".xls");

try {

Workbook book = Workbook.getWorkbook(f);// 打开3excel表格

Sheet sheet1 = book.getSheet(0); // 获得第一个工作表对象

Sheet sheet2 = book.getSheet(1); // 获得第2个工作表对象

Cell cell7 = sheet1.getCell(0, 0);//获取该sheet的第0行第0列 即excel的第一行第A列

//将该单元格写入到写到目标文件的第0行0列

Label label11 = new Label(0,0,cell7.getContents());

sheet3.addCell(label11);

Cell cell8 = sheet2.getCell(0, 0);

Label label12 = new Label(0,0,cell8.getContents());

sheet4.addCell(label12);

//下面是对第一列的id修改工作

for(int k = 1;k < sheet1.getRows();k++)

{

Cell cell = sheet1.getCell(0, k); // 获得单元格

String strstr3 = new String();

strstr3 = cell.getContents();

int intstr31 = Integer.valueOf(strstr3).intValue();

int intstr32 = 10000*intstr3 + intstr31;

String str33 = Integer.toString(intstr32);

Label label1 = new Label(0,k,str33);

sheet3.addCell(label1);

}

for(int k = 1;k < sheet2.getRows();k++)

{

Cell cell6 = sheet1.getCell(0, k); // 获得单元格

String strstr3 = cell6.getContents();

int intstr31 = Integer.valueOf(strstr3).intValue();

int intstr32 = 10000*intstr3 + intstr31;

String str33 = Integer.toString(intstr32);

Label label6 = new Label(0,k,str33);

sheet4.addCell(label6);

}

//下面是对除第一列以外,别的列的复制工作

for (int i = 0; i < sheet1.getRows(); i++) {

for(int j = 1;j < sheet1.getColumns();j++)

{

Cell cell1 = sheet1.getCell(j, i); // 获得单元格

Label label1 = new Label(j,i,cell1.getContents());

sheet3.addCell(label1);

}

}

for (int i = 0; i < sheet2.getRows(); i++) {

for(int j = 1;j < sheet2.getColumns();j++)

{

Cell cell2 = sheet2.getCell(j, i); // 获得单元格

Label label2 = new Label(j,i,cell2.getContents());

sheet4.addCell(label2);

}

}

}catch (BiffException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//执行写入到文件,并关闭

workbook.write();

workbook.close();

}

catch (BiffException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

遇到的问题,

1  jxl的jar包只能操作03版的后缀名为.xls的excel,不能处理更高版的.xlsx的excel。

2  对目标excel进行操作失误失,要把目标excel删除,然后新建一个excel表格,在对其操作。为什么要这样呢?因为我们新建一个空的excel(我自己的电脑上)是18kb,使用         java程序操作失败后,也是空的,就变成了0kb,在进行操作,java就会报出error,找不到该excel,此时,删除0kb的excel,重新新建一个,即可。

java 复制excel jxl_java中使用jxl的jar包处理excel的复制,更新等问题。相关推荐

  1. linux jar 运行 停止,[转] Linux中启动和停止jar包的运行

    脚本一: startTest.sh内容如下: #!/bin/sh java -jar Test.jar &       #注意:必须有&让其后台执行,否则没有pid生成 echo $! ...

  2. Java 读取excel 需要的jar_java自定义jar包读取Excel(包含2003和2007)数据,并举例说明...

    用java自定义jar包读取excel数据支持excel2007和excel2003 在外链网址已屏蔽所需要的包 如果需要excel2003和excel2007文件可以去 外链网址已屏蔽 在外链网址已 ...

  3. 使用Python批量实现某一Excel文件中每3行数据存一个Excel文件

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 远芳侵古道,晴翠接荒城. 大家好, ...

  4. Java代码安装maven jar_Java中Maven项目导出jar包配置的示例代码

    具体代码如下所示: src/main/java src/main/resources ${project.build.directory} **/*.java src/test/java src/te ...

  5. java 中如何打包成 jar 包

    这里写目录标题 1. java 中如何打包成 jar 包 1.1. 手动打包可直接执行的 jar 包 1.2. 使用 intellij idea 工具打包可直接执行的 jar 包 1. java 中如 ...

  6. Eclipse中要导出jar包中引用了第三方jar包怎么办

    Eclipse中要导出jar包中引用了第三方jar包怎么办 (2009-07-20 15:28:44) 转载▼ 标签: it 分类: Eclipse     今天做个小的java程序,想要先将其导出成 ...

  7. 如何在Eclipse中添加Tomcat的jar包

    原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...

  8. SpringBoot前后端分离项目中如何制作前端jar包(类似swaggerUI前端jar包制作方法)

    SpringBoot前后端分离项目中如何制作前端jar包(类似swaggerUI前端jar包制作方法) 可用于SpringBoot引用的前端UI的Jar包,类似于SwaggerUI包 WABJAR介绍 ...

  9. 一键清除maven仓库中下载失败的jar包

    typora-copy-images-to: ./ 一键清除maven仓库中下载失败的jar包 maven是一款非常优秀的项目管理工具,特别是其对项目使用的依赖包的管理,我们只需在pom.xml文件中 ...

最新文章

  1. Elasticsearch简史:源自给老婆开发烹饪App
  2. 业余无线电通信_登山与业余无线电的完美结合,便携式电台参加VHF比赛心得体会...
  3. [项目管理]团队管理中的起点:尊重
  4. 我如何在20小时内为AWS ML专业课程做好准备并进行破解
  5. 【SPOJ 694】Distinct Substrings (更直接的求法)
  6. [SpringBoot2]ajax函数中data参数的数据设置方式
  7. Ubuntu虚拟机及Petalinux开发平台安装
  8. 12306 被质疑过度获取用户隐私;直播答题外挂横行;阿里云辟谣称绝不做虚拟货币 | 一周业界事
  9. c语言高级程序设计第五版PDF,C语言高级编程.pdf
  10. macos下安装redis客户端
  11. Ubuntu下制作deb包的方法详解
  12. python画平行四边形_Python中最小的封闭平行四边形
  13. html在线编辑器源代码,最完整的html在线编辑器 - WEB源码|其它源码|源代码 - 源码中国...
  14. 锋利的jQuery学习总结
  15. 基于python的dlib库的人脸识别
  16. 架构师,你需要了解的git知识都在这里了
  17. 痴呆患者血脑屏障(Blood-Brain Barrier, BBB)功能测量
  18. 目标跟踪介绍(单目标)
  19. Linux各种安装软件包的方式
  20. 如何隐藏TPageControl Delphi控件的选项卡

热门文章

  1. html5 银行卡号校验,js 实现 银行卡号 格式验证 示例代码
  2. kettle分批处理大表数据_kettle 分批次拿数据库
  3. 关于文献中二代测序数据下载(NCBI)的问题
  4. 实验三:XML模型(一)
  5. 免安装的mysql删除_MySQL5.7 免安装版配置及删除图文教程
  6. 用c语言按颜色对图像进行分类,【leetcode C语言实现】75_颜色分类
  7. tf.keras.layers.Flatten() 示例
  8. aba问题mysql_解决CAS机制中ABA问题的AtomicStampedReference详解
  9. android+布局分块,android的List View的Item布局问题
  10. java web自定义监听器_Android自定义监听器Listener(自定义Java Callback回调事件)