`
czh0622
  • 浏览: 15046 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

java导出excel自动计算公式

阅读更多
最近在开发过程中,遇到java读取excel模板并写入数据,其中数据有计算求和的操作,一开始没有实现导出自动计算公式,所以费了一遍事,后台又重新做了一次数据计算,总感觉这样不是很好,所以上网找资料,终于在同事的帮助下实现了这一功能,分享出来,希望自己或看到的人可以受用。
String realPath= request.getSession().getServletContext().getRealPath("/WEB-INF/templetefile");
File templeteFile = new File(realPath + "/examNotice.xlsx");
InputStream fis = new FileInputStream(templeteFile);
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet st = wb.getSheetAt(0);
XSSFCell cell = null;
String[] rowName = {"LEVEL_5","LEVEL_4","LEVEL_3"};
for(int i=9;i<12;i++){
int k = 1;
for (Map.Entry<String, Object> entry : result.entrySet()) {
Map map = (Map)entry.getValue();
cell = st.getRow(i).getCell(k);
cell.setCellType(XSSFCell.CELL_TYPE_NUMERIC);//设置单位格类型
cell.setCellValue(Double.valueOf(map.get(rowName[i-9]).toString()));
k++;
}
}
st.setForceFormulaRecalculation(true);//重点在这,这句是重新计算公式的意思
if(request.getHeader("user-agent").indexOf("MSIE") != -1) {
filename = java.net.URLEncoder.encode(filename,"utf-8") + ".xlsx";
        } else {
        filename = new String(filename.getBytes("utf-8"),"iso-8859-1") + ".xlsx";
        }
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
wb.write(bStream);
ByteArrayInputStream bInputStream = new ByteArrayInputStream(bStream.toByteArray());
response.setContentLength(bStream.size());
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment;filename="+ filename);
byte[] bt = new byte[1024];
int bcount = 0;
while((bcount = bInputStream.read(bt,0,1024)) != -1){
response.getOutputStream().write(bt,0,bcount);
}
response.getOutputStream().flush();
分享到:
评论

相关推荐

    excel poi工具类 导入 导出 合并单元格 计算公式

    Apache POI提供了处理Excel计算公式的功能。创建包含公式的单元格时,需注意以下几点: 1) 使用`CellType.FORMULA`类型创建单元格。 2) 设置公式内容,如`cell.setCellFormula("SUM(A1:A5)")`。 3) 当读取含公式...

    Java生成excel表格设置公式并填充数据

    Java编程调用PageOffice实现从空白的excel文件动态生成excel表格,设置公式并填充数据。 集成PageOffice不但能够实现在线编辑、保存真正的Office文档,而且还可以轻松实现Word、Excel文档的动态数据填充、格式控制和...

    java导出excel的jar包及例子代码

    总之,Java导出Excel涉及到的主要知识点包括:Apache POI库的使用,Workbook、Sheet、Row和Cell对象的创建和操作,以及数据写入和文件输出。希望这个示例能帮助你理解并开始在自己的项目中实现Excel导出功能。

    poi excel 模板读取并导出带公式的excel文档

    - POI支持在Excel文件中保留和计算公式。 - 当Excel文件被打开时,其中的公式会被自动计算,从而显示出结果。 - 在Java程序中,可以设置某些单元格包含公式,这些公式可以在Excel中正常计算。 4. **代码示例分析...

    java导出图片到excel

    在Java编程中,导出数据到Excel是一种常见的需求,尤其当需要将图片与文本一起展示在电子表格中时。这个任务通常涉及到使用第三方库来处理Excel文件,因为Java标准库并未提供直接支持图像到Excel的功能。以下是一些...

    java Excel导出 Excel数据处理

    总结起来,Java中处理和导出Excel数据涉及使用像Apache POI这样的库,创建工作簿,添加工作表,填充和格式化数据,然后将所有内容写入文件。了解并熟练掌握这些步骤是Java开发人员处理Excel数据的基础。在实际应用中...

    java excel tree

    "java excel tree"这个主题正是关于如何使用Java来创建一个基于Excel的组织架构报表,它利用了组合模式和一系列算法来实现自动计算合并单元格以及支持无限级树的导出功能。下面将详细阐述这一领域的知识。 首先,让...

    Java导出Excel文件(97--2003)

    在Java编程环境中,导出Excel文件是常见的需求,特别是在数据处理、报表生成或者数据分析的场景。本示例主要关注如何使用Java来创建适用于97-2003版Microsoft Excel的文件,这些文件通常以`.xls`为扩展名。这个版本...

    POI导出Excel表格

    这个实例不仅涵盖了基本的导出操作,还可能涉及到更复杂的特性,比如样式设置、公式计算、数据验证等。在实际应用中,Apache POI允许我们定制Excel表格的样式,包括字体、颜色、边框、对齐方式等。此外,还可以设置...

    java导出excel所需jar

    在Java开发中,导出Excel是一项常见的需求,用于数据的导出和报表生成。Apache POI是一个流行的开源库,专门用于处理Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。本篇将深入探讨如何使用Java和Apache ...

    java 导出 excel

    在Java编程中,导出...总之,Java导出Excel涉及到的内容广泛,从选择合适的库到处理各种复杂需求,都需要开发者具备扎实的编程基础和对Excel文件格式的理解。通过不断实践和学习,你可以轻松应对各种Excel处理任务。

    使用aspose导出Excel(根据模板导出excel).zip

    在本示例中,我们将深入探讨如何使用Aspose库在.NET环境中根据模板导出Excel电子表格。这个过程涉及到多个步骤和技术,包括理解Aspose的API、模板设计以及数据注入。 首先,Aspose库提供了强大的Excel操作功能,...

    POI导出Excel工具类,自动设置标题 列名 文件名,可插入图片,合并单元格

    在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...

    java实现自定义excel模板导出excel并可保存客户端和在线打开

    要实现自定义Excel模板导出,我们首先需要创建Excel模板。模板通常包含预设的样式、格式和数据占位符。这可以通过设置单元格的样式(如字体、颜色、边框等)、合并单元格、插入公式以及添加图片等方式来完成。在jxl...

    java导出Excel的jar包

    Java导出Excel是一种常见的数据处理任务,特别是在大数据分析、报表生成和数据交换中。为了实现这一功能,开发者通常会依赖第三方库,而jar包就是Java应用程序的可执行组件。在这个场景中,我们讨论的是一个专注于...

    java导出excel

    首先,Java导出Excel的核心库是Apache POI。Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel(.xls和.xlsx)格式。要开始使用,你需要在项目中引入Apache POI库。如果你...

    java导出excel的所有jar包

    在“java导出excel的所有jar包”压缩包中,你应该会找到以下关键的jar文件: 1. **poi-*.jar**:这是Apache POI的主要库,包含了处理Excel工作簿、工作表、单元格等的基本类和接口。 2. **poi-ooxml-*.jar**:此库...

    java导出Excel软件包源码以及API

    Java导出Excel软件包源码及API主要涉及的是使用JExcelApi库来处理Excel文件的操作。JExcelApi是一个开源的Java库,它允许开发者在Java应用程序中读取、写入和修改Microsoft Excel文件,这对于数据处理和报表生成非常...

    java导出excel小实例

    ### Java导出Excel知识点详解 #### 一、Java Excel API简介 Java Excel API是一个开源项目,专门为Java开发者设计,使得他们能够轻松地读取、创建和更新Excel文件。这一工具的强大之处在于它允许非Windows环境下的...

    java 导出 excel 工作表 实例

    以下是一个简单的Java导出Excel工作表的实例: 首先,确保在项目中添加Apache POI依赖。如果你使用Maven,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi &lt;version&gt;4.1.2 ...

Global site tag (gtag.js) - Google Analytics