1.要操作的Excel表格(.xls)格式模板:
程序作用:读取数据1列中数据,然后依次与数据2列中数据比较,如果数据2中含有与之相同的数据,则标记为Equal,否则标记为Not Equal。最后将比较结果一起存入Excel表格指定列中。
效果图:
工具类代码:
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExcelUtils { //文件路径 private String path = null; public ExcelUtils() {} public ExcelUtils(String path) { this.path = path; } /** * 作用:读取Excel表格指定列中数据 * @param column 要读取Excel表格的哪一列,从0开始 * @return 返回列中数据 */ public List<String> readColContentFromExcel(int column) { List<String> content = new ArrayList<String>(); FileInputStream input = null; try { input = new FileInputStream(this.path); HSSFWorkbook workBook = new HSSFWorkbook(input); HSSFSheet sheet = workBook.getSheetAt(0); String cellContent = null; for(int i=1; i<sheet.getPhysicalNumberOfRows(); i++) { HSSFCell cell = sheet.getRow(i).getCell(column); if(cell != null) { cellContent = sheet.getRow(i).getCell(column).toString(); if(!StringUtils.isBlank(cellContent)) { content.add(cellContent); } else { break; } } else { break; } } } catch (Exception e) { e.printStackTrace(); } finally { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } return content; } /** * 作用:向Excel表格指定列中写入数据 * @param contents 要添加到Excel表格指定列中的数据 * @param column 指定列 */ public void writeResultAtExcel(List<String> contents, int column) { FileInputStream input = null; FileOutputStream output = null; try { input = new FileInputStream(this.path); HSSFWorkbook workBook = new HSSFWorkbook(input); HSSFSheet sheet = workBook.getSheetAt(0); for(int i=1; i<=contents.size(); i++) { HSSFCell cell = sheet.getRow(i).createCell(column); cell.setCellValue(contents.get(i-1)); output = new FileOutputStream(path); workBook.write(output); } } catch (Exception e) { e.printStackTrace(); } finally { try { input.close(); output.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * 比较firstColumn列与secondColumn列中数据,并将比对结果存入Excel表格的resultColumn列 * @param firstColumn Excel表格的列,从0开始 * @param secondColumn 表格的列,从0开始 * @param resultColumn 表格的列,从0开始 */ public void compareColumnsContent(int firstColumn, int secondColumn, int resultColumn) { List<String> results = new ArrayList<String>(); List<String> first = this.readColContentFromExcel(firstColumn); List<String> second = this.readColContentFromExcel(secondColumn); for(Iterator<String> firstColumnContent=first.iterator(); firstColumnContent.hasNext(); ) { String result = "Not Equal"; String str1 = firstColumnContent.next(); for(Iterator<String> secondColumnContent=second.iterator(); secondColumnContent.hasNext(); ) { String str2 = secondColumnContent.next(); if(!StringUtils.isBlank(str2)) { if(str2.equals(str1)) { result = "Equal"; break; } } } results.add(result); } //将比较结果写入到Excel this.writeResultAtExcel(results, resultColumn); //System.out.println(results); } }
调用工具类的测试类代码:
public class ExcelTest { public static void main(String[] args) { ExcelUtils test = new ExcelUtils("D:\\temporary\\ExcelTest.xls"); test.compareColumnsContent(0, 1, 2); } }
相关推荐
在这个"利用POI解析excel并存入数据库demo"中,我们将关注如何使用 POI 库来读取 Excel 文件,并将数据有效地存入 MySQL 数据库。 首先,要开始使用 POI,你需要在你的项目中引入相应的依赖。如果你使用的是 Maven...
java读取excel 表格数据。 public static void main(String[] args) { String[][] content=POIExcelUtils.read("E:\\1.xlsx"); for(int i=0;i;i++) { if(content[i]!=null){ for(int j=0;j[i].length;j...
使用poi解析excel文件,并将数据写入到数据库 项目说明 这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL...
本实例主要关注如何使用POI技术读取Excel数据并将其存储到MySQL数据库中。这个过程通常分为几个步骤:导入必要的库、创建Excel文件对象、读取数据、连接MySQL数据库以及将数据插入或更新到数据库。 首先,我们需要...
本篇文章将详细讲解如何利用Apache POI库在Android环境中高效地处理大数据量的Excel文件,无论是2003的.xls格式还是2007及以后的.xlsx格式。 首先,我们需要在项目中引入Apache POI库。如果是Maven项目,可以在pom....
本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,我们需要了解Apache POI的基本概念。POI提供了一组API,允许程序员在Java应用程序中创建、修改和显示这些文件。对于Excel...
本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到实体类中以供后续使用。 Apache POI是一个强大的库,允许程序员使用Java来创建、修改和显示Microsoft...
总之,Apache POI是Java开发人员处理Excel文件的强大工具,通过理解其API结构和工作原理,我们可以方便地读取和处理Excel中的带格式数据。无论是简单的数据导出还是复杂的业务逻辑,POI都能胜任。在阅读这篇博客...
利用Apache POI库能够实现这一功能,即可以通过Java程序操作Excel文件,包括读取、写入、以及处理Excel中的公式。 #### 二、关键技术点 1. **POI库简介**: - Apache POI是Apache软件基金会的Jakarta项目中的一个...
android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel
Excel中的数据验证可以通过设置数据验证规则来实现,这些规则通常存储在Excel文件的`.xlsx`包中的`sharedStrings.xml`和`workbook.xml`等文件中。在Java中,我们可以使用`DataValidationHelper`和`...
本教程将详细讲解如何使用Apache POI库来读取Excel文件的内容。 首先,为了在Java项目中使用Apache POI,我们需要通过Maven进行依赖管理。在`pom.xml`文件中添加以下依赖: ```xml <groupId>org.apache.poi ...
在本文中,我们将深入探讨如何使用Apache POI读取Excel表格内容。 首先,我们需要理解Apache POI的基本架构。POI分为两个主要部分:HSSF(Horizontally-Scalable Storage Format)用于处理旧版的BIFF格式Excel文件...
标题中的“poi读取excel并输出到jsp页面”是指使用Apache POI库来处理Microsoft Excel文件,并将数据在JavaServer Pages (JSP) 页面上显示的技术。Apache POI 是一个开源项目,它允许开发者创建、修改和显示MS ...
本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...
在本文中,我们将深入探讨如何使用Apache POI有效地读取大量数据的Excel文件。 首先,我们需要了解Apache POI的基本概念。POI提供了HSSF(用于旧版的BIFF格式,适用于Excel 97-2007)和XSSF(用于较新的OOXML格式,...
使用poi读取写入复杂excel内容包括样式,工具类
读取Excel的poi包,,读取Excel的poi包,,读取Excel的poi包,读取Excel的poi包读