package wang;import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;/***     使用jxl的jar包* A   B       C       D       E       F
1   序号  商品名称    库存量     入库量     出库量     剩余量
2   1   零件1     8       2       4       6
3   2   零件2     10      3       0       13
4   3   零件3     2       2       4       0
5   4   零件4     10      4       5       9
6   5   零件5     7       5       0       12
7   6   零件6     10      1       5       6
8   7   零件7     5       0       3       2
9   8   零件8     10      2       3       9
10  9   零件9     5       5       9       1此列每次都变化    此列每次都变化 此列等于C列+D列-E列此表需重复使用,希望实现的功能是:写一个代码,保存此表时将F列的数值复制给C列,覆盖C列原有值,并将D列数值清零。                   * */public class Change {public static void main(String[] args) {jxl.Workbook readwb = null;try{// 从本地文件构建只读的Workbook对象(就是readwb)InputStream instream = new FileInputStream("例子.xls");//路径可以自己改(这里用的是当前项目的文件夹),这是源文件路径
//          InputStream instream = new FileInputStream("D://例子.xls");readwb = Workbook.getWorkbook(instream);// Sheet的下标是从0开始, 获取第一张Sheet表Sheet readsheet = readwb.getSheet(0);// 获取Sheet表中所包含的总列数int rsColumns = readsheet.getColumns();// 获取Sheet表中所包含的总行数int rsRows = readsheet.getRows();// 创建真实写入的 Excel 工作薄对象jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("例子-修改后.xls"), readwb);//路径可以自己改,这是目标文件路径
//          jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("D://例子-修改后.xls"), readwb);// 读取第一张工作表jxl.write.WritableSheet ws = wwb.getSheet(0);// 循环遍历那个原始的for (int i = 0; i < rsRows; i++) {for (int j = 0; j < rsColumns; j++) {if (i == 0) {// 第0行是标题行 照写// 原始文件 第i行第j列的单元格Cell cell = readsheet.getCell(j, i);String string = cell.getContents();// 获得单元格对象jxl.write.WritableCell wc = ws.getWritableCell(j, i);// 判断单元格的类型, 做出相应的转化if (wc.getType() == CellType.LABEL) {Label l = (Label) wc;l.setString(string);}} else {if (j == 2) {//第3行的  C// 获取的是第5行 FCell cell = readsheet.getCell(5, i);String string = cell.getContents();//创建数值的int int1 = Integer.parseInt(string);jxl.write.Number label = new jxl.write.Number(j,i,int1);ws.addCell(label); } else if (j == 3) {//第4行  D// 判断单元格的类型, 做出相应的转化Label label = new Label(j,i,"");   ws.addCell(label); } else {//除了那上面两列特殊,其他的不用变// 原始文件 第i行第j列的单元格Cell cell = readsheet.getCell(j, i);String string = cell.getContents();// 获得单元格对象jxl.write.WritableCell wc = ws.getWritableCell(j, i);// 判断单元格的类型, 做出相应的转化if (wc.getType() == CellType.LABEL) {Label l = (Label) wc;l.setString(string);}}}}}// 写入Excel对象wwb.write();wwb.close();System.out.println("~~~~~~~完成~~~~~");} catch (Exception e) {e.printStackTrace();} finally {readwb.close();}}}

java 读写 excel 文件相关推荐

  1. java读写excel文件poi_Java利用POI读写Excel文件工具类

    本文实例为大家分享了Java读写Excel文件工具类的具体代码,供大家参考,具体内容如下 package com.test.app.utils; import java.io.File; import ...

  2. Java操作Excel之POI:java读写excel文件以及打印设置

    Java操作Excel之POI:java读写excel文件以及打印设置 POI的jar包下载地址:http://poi.apache.org/download.html 注意:项目中导入poi 4.0 ...

  3. java读写excel文件

    近期处理的数据规模比较大,正好又是统计合并的事情,想着借助excel就可以完成了,然后就了解了下java读取excel的事情. 读取的文件主要分两类:xls文件.xlsx文件.xls文件的相关操作用的 ...

  4. java读写Excel文件、合并单元格

    [转载]http://blog.sina.com.cn/s/blog_694448320100lxbe.html 利用java操作Excel,有个开源的东东-jxl.jar,可以到http://sou ...

  5. java 读取excel 合并单元格_利用java读写Excel文件、合并单元格

    一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...

  6. Java实现Excel文件读写

    目录 一.简介 二.maven依赖 三.工具类ExcelUtil 四.测试 4.1.EmployeeVo 4.2.写入数据到Excel 4.3.从Excel读取数据 结语 一.简介   HSSFWor ...

  7. 高级知识点:excel4j实现java操作excel文件的读写

    介绍 java操作excel文件最经典的是POI,但是其api 较多,代码量巨大,反复重复 excel4j ap则简洁太多,利用pojo建模,利用注解进行标识@ExcelField(title = & ...

  8. 基于POI的读写Excel文件的工具类

    依赖的jar包: import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStrea ...

  9. c# 中wpfexcel_VS2017下编写C#程序读写Excel文件

    原标题:VS2017下编写C#程序读写Excel文件 前言: 有时候我们需要对Excel文件进行特殊处理,这种情况下写个小程序是很方便的.最近刚开始学C#,正好有同学需要处理个Excel文件,我就写了 ...

最新文章

  1. 【Codeforces】158B-Taxi(贪心,怎么贪咧)
  2. Spring Boot Profile使用详解及配置源码解析
  3. vc判断文件夹是否存在
  4. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---43
  5. 【树莓派】可能是最简单粗暴的树莓派搭建个人网站教程
  6. 什么是HLS(HTTP Live Streaming)?
  7. 在线抓娃娃爆火之后,新玩家入局还有希望吗?
  8. java+spring+mysql配置_JAVA后台搭建(springboot+mybatis+mysql)项目搭建
  9. yum 升级curl_CentOS 6/7 更新curl
  10. 开源与自由 | 商业自由:从边缘到核心贡献
  11. linux如查看是否安装了mysql_linux中如何查看mysql是否安装
  12. swift 跑马灯(50行代码完美实现,超简单)
  13. JS设置cookie,获取cookie
  14. 基于PHP课程网站设计开题报告,在线课程网站设计开题报告
  15. linux 台式机 双显卡,请问下我的电脑是双显卡。linux下。。。。
  16. Istio Egress Gateway出口流量管理
  17. 安装Hspice2014时仿真键为灰色不可点击和Windows缺依赖项问题的解决方法
  18. 靶机渗透----bulldog2
  19. Linux上安装ArcGIS for Server超详细教程——以Redhat6.5上安装ArcGIS for Server 10.3.1为例
  20. 我的第一次直播,聊聊「职业规划」和「个人成长」

热门文章

  1. A4988电机驱动简单使用
  2. A4988驱动42步进电机
  3. css实现(上、右、下、左)箭头
  4. 乘坐北京地铁费用计算
  5. Typora实现云笔记,支持云同步+多端查看(附免费方案)
  6. 狗年出生的宝宝取名还可以借助诗经内容?看这里,有你需要的取名方法
  7. 移动互联网的创业机会在哪
  8. Macbook磁盘空间不足怎么办?
  9. Nginx学习笔记——上篇
  10. 8000字详解微信生态内的5款增长工具(2019版)