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); } }
相关推荐
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...
利用 Apache POI 对 excel 操作并存入MySQL数据库的一个小demo。
使用Poi读取大数据量excel的方法 支持2003和2007的版本
利用POI读取excel写入到word 利用POI读取excel写入到word 利用POI读取excel写入到word,压缩包里包含了jar包
NULL 博文链接:https://yxhcquedu.iteye.com/blog/828707
使用poi读取excel内容 所需jar包
本资源是从之前的资源综合整理出来的代码,之前的代码不全,需要下载两次,为了减少用户的下载量,减少用户的下载资源分,我已经将代码整合好了,运行类为:com.telesound.dataimport.excel.TestReadExcel...
读取Excel的poi包,,读取Excel的poi包,,读取Excel的poi包,读取Excel的poi包读
应用java的poi技术读取Excel数据到MySQL的实例源码,对学习Java编程技术有所帮助,与大家分享。
JAVA IO操作 POI读取excel的内容
android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel,android5使用poi读取excel
POI生成Excel POI读取Excel java操作Excel Servlet生成Excel web项目,包含含读取Excel与生成Excel方法
实现了JAVA 窗口,读取EXCEL文件,用poi读取EXCEL内容只是一个小例子
Java通过POI读取Excel遍历数据,根本word模板批量生成word文档,demo可运行,可根据需求修改
该poi提供了对Excel表格的读取,是这的学习的一个文件。
poi excel poi excel poi excel poi excel poi excel poi excel poi excel poi excel
使用Java使用POI读取Excel,并且解决了合并单元格的读取
poi读取excel所需jar包,可用来使用poi读写word excel。