![Java程序如何调用Excel中的各种公式,第1张 Java程序如何调用Excel中的各种公式,第1张](/aiimages/Java%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%BD%95%E8%B0%83%E7%94%A8Excel%E4%B8%AD%E7%9A%84%E5%90%84%E7%A7%8D%E5%85%AC%E5%BC%8F.png)
针对此问题,写了一个测试,代码如下:package cn.fory.formulaimport java.io.FileInputStreamimport java.io.FileNotFoundExceptionimport java.io.FileOutputStreamimport java.io.IOExceptionimport org.apache.poi.hssf.usermodel.HSSFCellimport org.apache.poi.hssf.usermodel.HSSFRowimport org.apache.poi.hssf.usermodel.HSSFSheetimport org.apache.poi.hssf.usermodel.HSSFWorkbookimport org.apache.poi.poifs.filesystem.POIFSFileSystempublic class TestFormula {/*** 测试POI处理
公式** 问题描述:通过POI导入的
数据后,引用导入数据的原有公式单元格不能显示出来,需要重新定位到公式单元* 格然后重新转入公式才行成得结果** 解决办法:重新对公式单元格
设置公式** 相关文件:test.xls文件中手工设置单元格B2=C2+D2**/public static void main(String[] args) throws FileNotFoundException {POIFSFileSystem fstry {fs = new POIFSFileSystem(new FileInputStream("test.xls"))HSSFWorkbook wb = new HSSFWorkbook(fs)HSSFSheet sheet = wb.getSheet("Sheet1")HSSFRow row = sheet.getRow((short) 1)HSSFCell cell = row.getCell((short) 2)cell.setCellValue((short) 5)cell = row.getCell((short) 3)cell.setCellValue((short) 40)HSSFCell cell1 = row.getCell((short)1)if (HSSFCell.CELL_TYPE_FORMULA == cell1.getCellType()) {//取得公式单元格的公式,重新设置cell1.setCellFormula(cell1.getCellFormula())}FileOutputStream fileOut = new FileOutputStream("test.xls")wb.write(fileOut)fileOut.close()我觉得用JAVA *** 作EXCEL的话,有点大刀小用,你说的这个东西其实很简单,EXCEL本身就是处理数据问题的。不知道你EXCEL水平怎么样,有几个思路我简单写下,希望可以帮到你:
1.如果地址是规范的(同一地址同一称为,不会有北京、北京市、北京海淀等)。排序后可以直接排序,增加辅助列。这是最基本最笨的办法。
2.VBA编程,实现的方法就很多了。
既然是模拟,就不帮你做了。自己多想想,也正好练习下EXCEL。
评论列表(0条)