1、使用POI

A)下载地址http://poi.apache.org/download.html

B)使用方式

1、准备一个简单的excel文档(静态的数据都先填写上去),放入到项目src路径下中

2、在action中读取excel文档,并创建一个excel文档对象

String filename = PropertyUtil.getPropertyValue(“配置文件路径”)+”文件名”;

HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(filename));

3、获取每一个分页的对象文档中默认有三个sheet,默认第一个下角标为0。HSSFSheet sheet0 = wb.getSheetAt(0);//获取第一个sheet。1,2表示后面两个

4、动态加入数据

1、创建一个行

Row row = sheet0.createRow(“第几行”);

2、在这一行创建 一个单元格

Cell cell = row.createCell(第几个);

3、往里头填数据

cell.setCellValue(“我的数据”);

5、特效

1、单元格合并

Sheet0.addMergedRegion(new CellRangeAddress(四个参数分别表示行,列坐标));//合并这里面的范围到一个单元格中

2、单元格样式

Cell.setCellStyle(一个样式对象CellStyle类型);

CellStyle style = wb.createCellStyle();

Style.setVerticalAlignment(CellStyle.VERTICAL_CENTER);

Style.setBorderTop(CellStyle.BORDER_THIN);等等

//还有很多可以查看POI文档

C)好坏

1、好处:控制力强,是我们熟悉的java代码,不过需要熟悉第三方API

2、缺点:代码量比较大

2、使用excel模板方式

1、制作你想要的excel文档,列宽度、字体等设置好。(作为模板使用)

2、将excel另存为:->其他格式->XML 电子表格2003 (*.xml) 文件名记:1.xls

3、使用文本编辑器打开,1.xls。你可以发现类似于xml的标签

%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>-1){

filename=java.net.URLEncoder.encode(filename,"UTF-8");

}else{

filename=new String(filename.getBytes("UTF-8"),"ISO8859-1");

}

response.setHeader("Content-disposition","attachment; filename="+filename+".xls");

%>

1996-10-14T23:33:28Z

2006-10-19T23:03:49Z

11.5606

9300

15135

120

120

False

False

~等等

我们需要在动态的row哪里添加我们的数据

" x:FullColumns="1"

x:FullRows="1">

主板名称

项目名称

产品线

产品类型

项目经理

项目类别

项目状态

重要程度

启动时间

计划完成

实际完成

创建者

创建时间

待定

待定

待定

C)、好坏

1、坏处:xml标签学习代价很高,不易上手,这样的jsp页面不容易看懂。比如动态合并单元格就很麻烦,你得需要XML标签知识才能更改。

2、好处:不用java代码,只要在填充数据的地方使用itertor来遍历你的数据即可,所以对于简单的数据量,样式很少的可以使用这个

3、使用html基本table方式

Excel档案呈现方式

名称

型号

经理

状态

平台

描述

时间点

项目进展

2月第5周

${project.foreignType }

产品描述

【生成定型】1212121

${content}

注意一点:就是我的content是使用富文本的,所以他有很多

标签,这个导致生成的excel文档中content内容不再同一个单元格里面。所以,我们需要在保存富文本的时候,把

可以导致换行的string给替换掉

如:content = content.replace("", "");

当表格中出现rowspan字样要小心了,它会出现空行,这时候需要在span那个tr后面补全td,并且把下一行的tr给去掉。tr从第三行再加上。

【重要】:两个边框问题

1、设置表格内的边框: border="1"

2、表格之外的边框:见代码红色部分;代码红色显示不出来。。

一个是:

xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

另一个是:

参考资料:

http://poi.apache.org/

http://www.cnblogs.com/cannel/archive/2011/06/30/2094189.html

java excel报表文件_JAVA导出excel报表相关推荐

  1. java excel sheet页_Java导出Excel Sheet页

    1.问题背景 导出Excel表格时,首先要生成Sheet页,下面将介绍如何生成Sheet页 2.实现源码 /** * * @Project: * @Title:ExcelExport.java * @ ...

  2. java excil表格开发_JAVA导出Excel电子表格的方法

    JAVA导出Excel电子表格的方法 package com.qingruxu.excel; import java.io.File; import java.io.IOException; impo ...

  3. java导出excel表头斜线_Java导出Excel三表头

    1.问题背景 Java导出Excel表格时,表头出现了三个,即多表头Excel 2.实现源码 /** * * @Project:Report * @Title:ThreeHead.java * @Pa ...

  4. vue实现纯前端导入与解析excel表格文件,导出Excel

    一.安装相关依赖 npm install --save xlsx file-saver 二.使用 import * as XLSX from 'xlsx/xlsx.mjs' const FileSav ...

  5. java循环合并行_java导出excel时合并同一列中相同内容的行

    public voidexpStatistics(String filePath,String campuscode) {try{ WritableWorkbook wwb= Workbook.cre ...

  6. java生成world文件_Java导出World文档(入门)

    第一步就是将World文档里面需要从数据库填充的部分用占位符替换 第二步:就是将此文档保存为Xml格式 第三步:将其放在resource目录下,并选中此文件,右键点击properties属性,将其编码 ...

  7. php laravel导入excel,Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    @H_404_0@ 1.简介 @H_404_0@本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍 ...

  8. Java 利用hutool工具实现导出excel并合并单元格

    Java 利用hutool工具实现导出excel并合并单元格 controller层调用service,就一个核心方法,没错就下面这个代码就能实现了.前提是项目里面要引用hutool包.把我这个复制到 ...

  9. Laravel Excel实现Excel/CSV文件导入导出的功能详解(合并单元格,设置单元格样式)

    Laravel Excel实现Excel/CSV文件导入导出(合并单元格,设置单元格样式) 这篇文章主要给大家介绍了关于在Laravel中如何使用Laravel Excel实现Excel/CSV文件导 ...

最新文章

  1. 【linux】Valgrind工具集详解(十):SGCheck(检查栈和全局数组溢出)
  2. STM32-超级终端显示日历
  3. TensorFlow版本
  4. 关中断是否禁止任务调度?关中断能作为互斥吗?
  5. SAP License:SAP传输错误所引起的系统崩溃事件反思
  6. Oracle 归档模式
  7. Ubuntu 16.04显示分辨率的更改
  8. 終級方案之封USB設備必殺技
  9. SMBUS和i2cBus,PMBus 区别
  10. 计算机械公差什么软件好,Tolerance机械公差查询工具
  11. Mathematica基础教程
  12. word计算机公式怎么算,word怎么实现自动计算公式
  13. PR曲线和ROC曲线概念及其区别
  14. python筛选同义词_Python-比较同义词NLTK
  15. 刻录光驱只能读不能写怎么办?来看看!
  16. TRAS为springcloud提供高性能的RPC能力
  17. 这年头Windows电脑还需要杀毒软件吗?
  18. qcqa是什么职位_qc经理是什么职位
  19. atm机存款场景图_atm存钱(自动存款机存钱演示图)
  20. html3d电子相册,3d电子相册制作软件

热门文章

  1. 2021-11-14剑指OfferII014.字符串中的变位词
  2. elm分类器功能_基于ELM的情绪分类模型研究
  3. 2021-09-02数字逻辑笔记(一)进位和编码
  4. Spring 几种事务理解测试
  5. 基于卷积神经网络的主观题阅卷系统的设计与实现
  6. 婚姻匹配问题---盖尔-沙普利(Gale-Shapley)稳定匹配算法
  7. 音视频开发系列(14):将视频和音频同时推流到nginx服务器上
  8. 小学校园门户网站建设方案
  9. 重磅!你们一直催的 PyEcharts教程来啦
  10. 基于sklearn的人工神经网络