pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xma.work</groupId><artifactId>excelprocess</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- 引入poi,解析workbook视图 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency><!-- 处理excel和上面功能是一样的--><!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl --><dependency><groupId>net.sourceforge.jexcelapi</groupId><artifactId>jxl</artifactId><version>2.6.12</version></dependency><!--        &lt;!&ndash; https://mvnrepository.com/artifact/com.alibaba/easyexcel &ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>com.alibaba</groupId>-->
<!--            <artifactId>easyexcel</artifactId>-->
<!--            <version>2.2.6</version>-->
<!--        </dependency>--></dependencies>
</project>

java文件:

import jxl.Cell;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class ProcessExcelMain {private static final String FILE_PATH = "D:/ExcelFiles";private static final String NOT_ALLOWED = "Not Allowed(不顯示)";private static final String OPTIONAL = "Optional(預選是,可修改)";private static final String OPTIONAL_FINAL = "optional";private static final String ON_DEMAND = "On Demand(預選否,可修改)";private static final String ON_DEMAND_FINAL = "onDemand";private static final String NOT_AVAILABLE = "notAvailable";public static void main(String[] args) throws IOException, BiffException {String defFileName = FILE_PATH+"/default.xls";String file1 = FILE_PATH+"/05.xls";// get default work bookFile defaultFile = new File(defFileName);Workbook defaultWorkbood = Workbook.getWorkbook(defaultFile);for (int i=11,m=0;i<=15;i++,m++){ // default 05-30 columns.Cell[] column = defaultWorkbood.getSheet(3).getColumn(i); // get Components Applicability work sheet.FileInputStream dataFileInputStream = new FileInputStream(file1);HSSFWorkbook dataHssfWorkbook = new HSSFWorkbook(dataFileInputStream);dataFileInputStream.close();//            HSSFWorkbook hssfWorkbook = new HSSFWorkbook();for (int j=7;j<72;j++){ // column value in each default column from 05 to 30String contents = column[j].getContents();HSSFSheet coverageApplicabilitySheet = dataHssfWorkbook.getSheetAt(0);HSSFRow row = coverageApplicabilitySheet.getRow(j-3); // get each row from sheet first and then column.if (NOT_ALLOWED.equals(contents)){row.getCell(2).setCellValue(NOT_AVAILABLE); // cell 是每个单元格,这里是为该单元格赋值processDataFile(dataHssfWorkbook, j, row);}}}}static void processDataFile(HSSFWorkbook dataWorkBook, int j, HSSFRow row) throws IOException {OutputStream out = null;// get Component name from each cellString componentName = row.getCell(1).getStringCellValue();// process Default Value work sheetHSSFSheet defaultValueSheet = dataWorkBook.getSheetAt(1);// iterator each row in Default Value sheet and delete notAvailable row.for (int m=4;m<=defaultValueSheet.getLastRowNum();m++){HSSFRow defaultValueSheetRow = defaultValueSheet.getRow(m);if (defaultValueSheetRow!=null && componentName.equals(defaultValueSheetRow.getCell(1).getStringCellValue())){defaultValueSheet.removeRow(defaultValueSheetRow);}}FileOutputStream fileOutputStream = new FileOutputStream("D:\\ExcelFiles\\changed\\bbb.xls");dataWorkBook.write(fileOutputStream);fileOutputStream.flush();fileOutputStream.close();}
}

java处理excel的读写相关推荐

  1. java对excel经行读写

    java对excel经行读写 package com.common.tool.util;import org.apache.poi.hssf.usermodel.*; import org.apach ...

  2. Java实现Excel文件读写

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

  3. 使用JXL.jar实现JAVA对EXCEL的读写操作

    简介: jxl.jar是通过java操作excel表格的工具类库 jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格). 一个excel就对应一个Work ...

  4. JAVA实现Excel的读写--poi

    上一篇为大家介绍了通过xls.jar的方式生成Excel的方法,本篇就为大家再介绍一下通过poi方式实现Excel文件的读写操作,内容很简单,代码注释很清晰. 1.生成Excel文件: import ...

  5. EasyExcel java实现excel简单读写操作(快速上手,复制粘贴即可)

    EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目. https://github.com/alibaba/easyexcel 一.导入maven坐标 Lombok可选,不导 ...

  6. 使用java进行excel的读写,两种excel的区别以及easyexcel的使用

    EasyExcel Excel介绍: excel的样例: 工作簿:代表这个excel. 工作表:Sheet代表每一张表格 行属性:每一行的数据 列属性:每一列的数据 单元格:最小的属性 写入文件 03 ...

  7. java操作Excel实现读写

    依赖 implementation 'org.apache.poi:poi:3.17' implementation 'org.apache.poi:poi-ooxml:3.17' implement ...

  8. Java对Excel的读写详解(POI)

    <!-- 配置读取excel所需 --> <dependency> <groupId>dom4j</groupId> <artifactId> ...

  9. Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包

    Java程序利用POJ读写Excel文件时,不能只用poi的jar包,因为它还依赖于xmlbeans的jar包,xmlbeans又以来与common-collections的jar包,因此,正常使用P ...

  10. java使用jxl包读写excel表格文件,即xls格式文件

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用jxl包读写excel表格文件,即xls格式文件 本实例演示使用jxl包实现对excel文件的操作,下载 测试代码 public st ...

最新文章

  1. SourceInsight 汉化
  2. iOS 正则表达式判断UITextField是否为全汉字,全字母,全数字,数字和字母
  3. all any 或 此运算符后面必须跟_好好跟大家聊聊,最全面的 Python 重点
  4. qDebug格式化输出类型
  5. 浅析DDD(领域驱动设计)
  6. 《css设计彻底研究》读书笔记之 盒子模型
  7. 小红书2019年校园招聘:字符串压缩算法
  8. v-ray 5.0 渲染器参数说明
  9. 新加坡经验:大数据时代政府的角色
  10. 针对Faster RCNN具体细节以及源码的解读之SmoothL1Loss层
  11. Qt [GC9-14]:HUD-定速巡航、自适应巡航、车道偏离、车距保持
  12. Python数据类型之列表
  13. 前方高能!吹爆这份HTTP顶级教程
  14. Git Commit emoji Guide
  15. Linux 命令随笔
  16. hdu5445(两次多重背包)
  17. 前端工作累还是Java工作累_前端开发累还是后端开发累?
  18. 修复被“磁盘自动运行”类病毒感染的电脑
  19. (转载)周鸿祎在360新员工入职培训上的讲话
  20. CnOpenData中国高校专利申请数量统计数据

热门文章

  1. web项目继承ServletContainerInitializer进行访问HttpServlet(WebServlet)
  2. Python常用模块实战之ATM和购物车系统再升级
  3. new方法、定制属性、描述符、装饰器
  4. $.ajax()在IE9下的兼容性问题
  5. datagrid---formatter方法
  6. ZOJ-2364 Data Transmission 分层图阻塞流 Dinic+贪心预流
  7. canvas绘制流程图
  8. error:Microsoft Visual C++ 14.0 is required.
  9. 3. Node.js REPL(交互式解释器)
  10. 主动FTP vs. 被动FTP 权威解释