poi之WEB生成xls


String str = request.getParameter("str");
str = URLDecoder.decode(str, "utf-8");
String[] arr = str.split(",");
try {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("第一个xls");


HSSFCellStyle cellStyle = wb.createCellStyle(); //字体用的风格
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //左右居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //上下居中
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); //左边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); //右边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); //上边框
cellStyle.setWrapText(true);
HSSFFont cellFont5 = wb.createFont();
cellFont5.setFontHeightInPoints((short) 10); //字号
cellFont5.setFontName("宋体"); //设置为宋体
cellStyle.setFont(cellFont5);



HSSFRow rowi = sheet.createRow(0); //第一行
rowi.setHeight((short)800);
HSSFCell celli = rowi.createCell((short) 0);
celli.setEncoding(HSSFCell.ENCODING_UTF_16);
HSSFCell cellmy = null;
for (int i = 0; i < 4; i++) {
cellmy = rowi.createCell((short) i);
cellmy.setCellStyle(cellStyle);
}
celli.setCellValue("生成Excel文件");
celli.setCellStyle(cellStyle);
sheet.addMergedRegion(new Region(0, (short) 0, 0, (short)4));


HSSFRow row = sheet.createRow(1); // 第一行标题

String[] titles = { "姓名", "年龄", "QQ", "Email" };
HSSFCell cell = null;
for (short i = 0; i < titles.length; i++) {
cell = row.createCell(i);
cell.setCellValue(titles[i]);
}

row = sheet.createRow(2); // 第二行
for (short i = 0; i < arr.length; i++) {
cell = row.createCell(i);
cell.setCellValue(arr[i]);
}

SimpleDateFormat timeformat = new SimpleDateFormat("yyyyMMddHHmmss");
java.util.Date date = Calendar.getInstance().getTime();
String createdate = timeformat.format(date).toString();

int location = (int) (Math.random() * 100); // 100中取出一个

String fileDirectory = request.getRealPath("/") + "/xls";
FileOutputStream fileOut = new FileOutputStream(fileDirectory
+ File.separator + createdate + "" + location + ".xls");
wb.write(fileOut);
fileOut.flush();
fileOut.close();
String fileName = fileDirectory + File.separator + createdate + ""
+ location + ".xls";
// System.out.println("文件名" + fileName);

// 新建一个SmartUpload对象

SmartUpload su = new SmartUpload();

su.initialize(this.getServletConfig(), request, response);

su.downloadFile(fileName, "application/vnd.ms-excel");// 用浏览器打开

} catch (Exception e) {
e.printStackTrace();

}


<%@ page language="java" pageEncoding="gbk"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>


<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="content-type" content="text/html; charset=gbk">
<script type="text/javascript">

function generateExcel(e){

// 去掉字符两端的空白字符
String.prototype.Trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}


var str="";
var ele=null;
var tr=null;
if(document.all){
ele=event.srcElement;
tr=ele.parentElement.parentElement;
}else{
ele=e.target;
tr=ele.parentNode.parentNode;
}



var len=tr.childNodes.length;
//alert(len);
for(var i=0;i<len-1;i++){
var child=tr.childNodes[i];
if(document.all){
str+=child.innerText.Trim()+",";
}else{
if(child.tagName){
if(child.textContent!=null){
str+=child.textContent.Trim()+",";
}
//alert(child.textContent);
}
}
}
//alert(str);
str=str.substr(0,str.length-1);

//alert(str);

str=encodeURI(str);
str=encodeURI(str);

document.location="makeExcel?str="+str;
}
</script>
</head>

<body>
<table border="1" cellspacing="0" cellpadding="6">
<tr>
<td>
姓名
</td>
<td>
年龄
</td>
<td>
QQ
</td>
<td>
Email
</td>
<td>
操作
</td>
</tr>
<tr>
<td>
张三
</td>
<td>
18
</td>
<td>
359951165
</td>
<td>
weiweichen_666@126.com
</td>
<td>
<input type="button" value="生成excel文件"
onClick="generateExcel(event)"></input>
</td>
</tr>
<tr>
<td>
李四
</td>
<td>
21
</td>
<td>
2221311
</td>
<td>
weiweichen_8888@126.com
</td>
<td>
<input type="button" value="生成excel文件"
onClick="generateExcel(event)"></input>
</td>
</tr>
<tr>
<td>
李四光
</td>
<td>
100
</td>
<td>
1234567
</td>
<td>
siguang@163.com
</td>
<td>
<input type="button" value="生成excel文件"
onClick="generateExcel(event)"></input>
</td>
</tr>
<tr>
<td>
小飞
</td>
<td>
32
</td>
<td>
2322223
</td>
<td>
ssss@222.com
</td>
<td>
<input type="button" value="生成excel文件"
onClick="generateExcel(event)"></input>
</td>
</tr>
<tr>
<td>
叶无道
</td>
<td>
20
</td>
<td>
7654321
</td>
<td>
wwww@222.com
</td>
<td>
<input type="button" value="生成excel文件"
onClick="generateExcel(event)"></input>
</td>
</tr>

</table>
</body>
</html>
【Apache POI】Java Web根据模板导出word文件 最近工作中遇到一个需求:根据word模板文档导出word文件。 查阅了一些资料,发现Apache POI可以实现文档读写的功能,于是就研究了一下,总结如下:   Apache-POI在线Javadoc:http://tool.oschina.net/apidocs/apidoc?api=apache-POI 官方网站:http://poi.apache.org/ POI详细介绍: Ap... 阅读详情

相关推荐

Java实现Excel转HTML文件转换工具开发

在现代企业信息化建设中,数据的多样性与跨平台展示需求日益增长。Excel作为广泛使用的电子表格工具,擅长数据录入、分析与本地处理;而HTML则作为网页内容的核心格式,具备良好的可视化与跨平台兼容性。因此,将Excel数据转换为HTML表格,已成为实现数据在线展示、报表生成与信息集成的重要手段。本章将介绍Excel与HTML格式的基本结构特性,分析其在业务系统中的应用场景,并探讨二者转换的技术价值与实际意义,为后续基于Java技术栈实现转换流程奠定理论基础。

weixin_28888459的博客 955

javaweb使用POI导出导出excel表格

由于工作的需要,需要用java将数据库中的数据导出为Excel表格,这就用到了Apache的POI组件,该组件让我们能够自定义创建Excel工作薄,然后导出文件即可。 1.首先准备好POI的包,使用maven导入或者直接加载jar都可以。 我是下载了poi-3.11-20141221.jar,poi-ooxml-3.11-20141221.jar,poi-ooxml-schemas-3.11-

浮生Spider 800

web页面嵌入excel控件,网页中在线编辑EXCEL表格实例

网页中嵌入excel控件,在线编辑excel。上面的例子我是装的office 2003 测试通过,如果客户端是office 2007 请更改classid。

Java web项目利用POI导出EXCEL表格

SSH2 POI导出EXCEL表格 1.首先导入poi的jar包 HSSFWorkbook :工作簿,代表一个excel的整个文档 HSSFSheet:工作表 HSSFRow :行 HSSFCell:单元格 HSSFCellStyle :单元格样式 HSSFFont:字体 Excel中的工作簿、工作表、行、单元格中的关系: 一个Excel文件对应于一个workbook(HSSFWorkb...

bigboss_666的博客 1277

FANUC机器人电弧跟踪功能深度解析:从电流采样原理到ROBOGUIDE仿真避坑指南

本文深度解析FANUC机器人电弧跟踪技术,从电流采样原理到ROBOGUIDE仿真避坑指南,详细介绍了电流波形分析、实时补偿机制及现场调试技巧。针对工业焊接中的常见问题,提供从底层原理到高阶应用的解决方案,帮助工程师优化自动化焊接质量。

weixin_31785177的博客 552

Dify沙盒容器部署实战:解决config.yaml缺失与系统调用权限问题

本文详细解析了Dify沙盒容器部署中的两大常见问题:config.yaml缺失与系统调用权限限制。通过实战步骤指导如何正确配置卷挂载解决`no such file or directory`错误,并深入讲解如何调整`allowed_syscalls`白名单应对`error: operation not permitted`权限问题,帮助开发者高效完成Dify容器化部署。

gg901的博客 922

POI导出Excel (满满的干货啊)

已经实现的POI导出Excel 步骤一:导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <d

小七会喷火 1万+

5G NR切换测量事件解析:从A1到B2的实战应用指南

本文深入解析5G NR切换测量事件,从A1到B2的实战应用指南。详细介绍了系统内切换事件(A1-A6)和系统间切换事件(B1-B2)的触发条件与配置建议,帮助优化网络性能。通过实际案例分享,展示如何调整参数提升切换成功率和降低乒乓切换率,适用于5G网络优化工程师。

tcp8optimizer的博客 513

autopoi-web 导出 excel 自定义样式(含前端示例)

实现导出重复列头,自定义 excel 样式,先看最终导出效果,导出含有特殊情况二级列头

不懂一休 8447

别再说Fortran过时了!手把手教你用VS Code + gfortran搭建现代开发环境(2024版)

本文打破Fortran过时的刻板印象,详细介绍如何利用VS Code和gfortran搭建现代开发环境。从编译器安装、VS Code插件配置到项目结构标准化,提供完整的2024版跨平台解决方案,并展示Fortran 2023标准的协程、并行计算等现代特性,助力科学计算与高性能开发。

weixin_42629815的博客 242

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构

本文记录的是基于RepVit的YOLOv11轻量化改进方法研究。RepVit的网络结构借鉴ViT的设计理念,通过分离的token mixe和减少推理时的计算和内存成本,同时减少扩展比率并增加宽度,降低延迟,并通过来弥补参数大幅减少的问题,提高了准确性。本文在替换骨干网络中配置了原论文中的和五种模型,以满足不同的需求。

Limiiiing的博客 2975

spring集成poi完成电子表格报表完全版

由于本人最近完成项目的需要,作基于web方式的报表功能,要是对要求不是很严格的报表来说,spring+poi就可以实现件呵呵:首先是我的配置文件: 在 web.xml中 进行 ======================================================== -->               Spring MVC DispatcherServlet Serv

溺水的鱼 - Later equals never. 1868

第1章第11节:创建可容纳多行滚动文字的输入框TextEditor [SwiftUI快速入门到实战]

TextField可以让用户输入单行的文字内容,若想输入多行的文字内容,可以使用能够容纳多行滚动文字的 TextEditor。 定义一个字符串属性,用来存储用户输入的文字内容。接着定义一个布尔属性,用来标识是否弹出警告窗口,以显示用户输入的内容。 TextEditor是由UIKit中的UITextView演变而来,因此可以在init方法中,通过UITextView修改TextEditor的外观属性。 添加一个VStack视图,作为子视图的容器。 创建一个TextEditor,Te..

互动教程网[www.hdjc8.com] 832

jsp利用POI直接生成Excel并在页面中导出

 java中导出Excel有两个组件可以使用,一个是jxl,一个是POI,我这里用的是POI。导出是可以在服务器上生成文件,然后下载,也可以利用输出流直接在网页中弹出对话框提示用户保存或下载。生成文件的方式会导致服务器中存在着垃圾文件,实现方式不太优雅,所以这里我采用的是后面直接通过输出流的方式。1、修改WEB服务器的CONF/web.xml,添加            xls       

不随黄叶舞秋风 1万+

镜头调焦的 调整的是焦距还是像距?

在镜头 “调焦”(即日常拍照时的)中,调整的核心是,而非焦距。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 1352

纯C语言实现的Luhn算法(信用卡校验位):详解与示例

在本文中,我们详细介绍了如何使用纯C语言实现Luhn算法,并提供了一些示例代码。用于检查任意长度的数字字符串的有效性,用于计算给定数字字符串的校验位字符。我们还提供了一个简单的“main”C程序,用于在命令行上接受一个或多个数字字符串,并计算它们的校验位字符。通过阅读本文和理解示例代码,我们希望读者能够更好地理解Luhn算法的工作原理,并能够在自己的项目中应用这种算法。

qq_38334677的博客 1221

servlet中生成提供下载的excel文档的例程和说明

相信大家会经常遇到需要在web页面上给用户生成excel报表的情况。我刚好在最近的工作中遇到了,下面是一个使用jxl包(一个开源的包)的实例。  //servlet中生成提供下载的excel文档的例程,这里用的是jxl包,当然也可以用apache的poi包试试。    public void doPost(HttpServletRequest request,HttpServletResponse

1904

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

spring之xls文件下载

需求: 基于poi的xls文件下载 实现: 控制层: @RequestMapping(value = "/exportxls", method = RequestMethod.GET) public void exportxls(HttpServletRequest request, QueryItem queryItem, HttpServletResponse respons...

smallnetvisitor的博客 188

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

使用SpringMVC框架生成XLS和PDF格式的WEB应用视图

在WEB应用开发中,有可能要求动态生成非HTML格式(比如XLS或PDF)的视图以显示或保存查询得到的结果。使用强大的SpringMVC框架,可以非常方便地实现这个功能。下面是动态生成XLS和PDF格式的“九九乘法表”的例子。该例子使用到Spring框架,生成XLS的POI组件,生成PDF的iText组件: Spring

wfron的专栏 1462

POI生成Excel并通过Servlet下载示例

[java]view plaincopyprint? Java代码 packagecom.ljz; importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.ByteArrayInputStream; importja...

WEBCODE 149

Drools的决策表xls文件转drl文件所依赖的poi版本

1.最近的项目中使用到了Drools作为规则引擎,今天在开发决策表的导入功能时(xls文件转drl),网上提供的简要例子始终通不过,报找不到适当的类的错误: 示例如下: 2.报错如下: 3.首先我的第一反应就是应该是jar包冲突,我当时用的drools版本是6.4,poi是3.9: 4.后来经过多次尝试,选择drools为7.0版本,

luo75503036的博客 1660

从XLS到CSV无缝切换:EasyExcel实现全版本Excel兼容处理方案

你是否还在为Excel文件版本兼容问题头疼?客户传来的XLS文件无法解析,系统导出的CSV格式错乱,大文件处理时内存溢出频频发生?本文将带你使用EasyExcel——这款快速、简洁、解决大文件内存溢出的Java处理Excel工具,轻松实现从XLS到CSV的全版本兼容处理,让你彻底告别格式兼容烦恼。读完本文,你将掌握不同Excel版本的读写技巧、解决内存溢出问题的方法,以及如何在实际项目中优雅地处理...

gitblog_00276的博客 1249

JAVA用POI实现EXCEL导入数据库,支持.xls与.xlsx两种格式

poi操作Excel 主要通过HSSF,XSSF两种方式。 HSSF只能解析.xls格式的excel文件,XSSF支持.xls与.xlsx两种格式。 方法: 1.获取浏览器上传的excel文件 2.根据excel文件格式解析excel文件,读取excel每一行数据并存放到集合里 3.批量写入数据库 import java.io.IOException; i...

菜菜的博客 8168

java下载xls文件

Java 下载 XLS 文件的实用指南 在现代软件开发中,处理 Excel 文件是一个常见的需求,特别是在企业应用和数据分析中。许多 Java 开发者在构建 web 应用时会遇到需要下载 Excel 文件的场景。本文将介绍如何使用 Java 下载 XLS 文件,并提供代码示例。 1. 使用 Apache POI 创建 XL...

weixin_36360005的博客 359
上一篇: poi之控制台生成xls
下一篇: 模拟google搜索
weiweichen
博客等级 码龄19年 10粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值