- 浏览: 441871 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
litainiu:
点亮了,感谢
Maven+Struts2+MyBatis+Spring搭建教程 -
y413059495:
对了 部署完跑起来了 完美!
Maven+Struts2+MyBatis+Spring搭建教程 -
springaop_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Maven+Struts2+MyBatis+Spring搭建教程 -
郑智睿:
把这句去掉,你就挂了<!DOCTYPE configur ...
Maven+Struts2+MyBatis+Spring搭建教程 -
zlfzml:
不行,没什么用
jquery uploadify插件多文件上传
<table id="export_table" border="1" cellspacing="0" cellpadding="0"> <tr> <th>第一列</th> <th>第二列</th> <th>第三列</th> <th>第四列</th> <th>第五列</th> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> </table>
先把上面那段代码复制下来,新建一个excel文件,把复制的内容粘帖进去,看看什么效果!
1、通过上面的操作,可以得知excel能够解析html代码,这样给导出excel提供了一个思路,我们只有把页面上表格的html代码全部拿来,粘帖到excel中,不就可以实现导出了嘛。
2、
下面提供两种导出excel的方法和实例
第一种:完全通过javascipt导出,这种方法导出设计安全问题,看实例:
example.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>example.html</title> <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=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript"> function exportExcel(){ exportTable = document.getElementById('export_table'); oApplication = new ActiveXObject ( 'Excel.Application' ); oApplication.visible = true; oApplication.DisplayAlerts = false; xlBook = oApplication.Workbooks.Add; oActiveSheet = xlBook.ActiveSheet; window.clipboardData.setData('text',exportTable.outerHTML); oActiveSheet.Paste; } </script> </head> <body> <input type="button" value="导出" onclick="exportExcel();"> <table id="export_table" border="1" cellspacing="0" cellpadding="0"> <tr> <th>第一列</th> <th>第二列</th> <th>第三列</th> <th>第四列</th> <th>第五列</th> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> <tr> <td>111</td> <td>222</td> <td>333</td> <td>444</td> <td>555</td> </tr> </table> </body> </html>
第二种:通过java在后台实现导出
example.jsp
exportToExcel.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>example.jsp</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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function exportExcel(){
var frm = document.exportForm;
var toExcelStr = document.getElementById('export_table').outerHTML;
frm.elements['content'].value = toExcelStr;
frm.elements['title'].value = 'SheetExcel.xls';
frm.submit();
}
</script>
</head>
<body>
<input type="button" value="导出" onclick="exportExcel();">
<table id="export_table" border="1" cellspacing="0" cellpadding="0">
<tr>
<th>第一列</th>
<th>第二列</th>
<th>第三列</th>
<th>第四列</th>
<th>第五列</th>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
<td>555</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
<td>555</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
<td>555</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
<td>555</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
<td>444</td>
<td>555</td>
</tr>
</table>
<form name="exportForm" action="exportToExcel.jsp" style="display: none" method="post">
<!-- excel文件名 -->
<input name="title" type="text" />
<!-- excel文件内容 -->
<input name="content" type="text" />
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("GBK");
String title = request.getParameter("title");
String content = request.getParameter("content");
//html代码在excel中处理与在html中不一样,在此做一下转化,以便显示出边框(根据自己需要调整)
content = content.replaceAll("bgColor=black ","");
content = content.replaceAll("border=0","border=1");
//如果没有border属性,则增加一个
if(content.indexOf("border")==-1){
content = content.replaceAll("<TABLE","<TABLE border=1");
}
//当table中有子table时,父table不显示边框
//用于调整显示格式,别无它用
int i = content.indexOf("border=1");
int j = content.indexOf("border=1",i+8);
if(j>0)
content = content.replaceFirst("border=1","border=0");
System.out.print(content);
response.setContentType("application/vnd.ms-excel;charset=GBK");
if(title != null && !"".equals(title)){
response.setHeader("Content-disposition","attachment; filename="+title);
}else{
response.setHeader("Content-disposition","attachment; filename=SheetExcel.xls");
}
%>
<HTML xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<title>Test</title>
<style>
td{
font-family: Verdana;
color:black;
text-overflow:ellipsis;
word-wrap:break-word;
FONT-SIZE: 12px;
overflow: hidden;
white-space:normal;
}
.row1 {font-size: 12px; background-color: white; text-align:left; vertical-align: center; padding: 2px}
.row2 {font-size: 12px; background-color: gainsboro; text-align:left; vertical-align: center; padding: 2px;}
</style>
<meta http-equiv=Content-Type content="text/html; charset=GBK">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 9">
</head>
<body>
<%--要显示的HTML代码字符窜--%>
<%=content%>
</body>
</HTML>
- exportToExcel.zip (2.9 KB)
- 下载次数: 70
评论
你的意思是直接复制,粘帖以后出现乱码?这个应该跟你的机器有关系,也许是office自身的编码问题吧,否则不会出现乱码的。你去调查调查原因,完了,留言告诉我一声
把你的eclipse中的workbench的编码方式改一下
发表评论
-
Spring报cvc-complex-type.2.3: Element 'bean' cannot have character [children]
2012-09-26 14:11 38218今天在STS下面启动项目的时候,Spring报如下错: ... -
JTextArea自动滚动到最低端
2012-07-19 13:41 1184…… jScrollPane = new JScrol ... -
网站代码完成,正式上线使用,纪念一下
2012-03-03 20:58 1475朋友他爹的公司,公司成立不久,网站我一个人业余时间胡乱写的,完 ... -
IP地址查询接口收集
2011-12-28 21:03 3186新浪 IP 地址查询接口:http://counter.sin ... -
Maven+Struts2+MyBatis+Spring搭建教程
2011-12-20 18:22 28301教程目标: 在MyEclipse中搭建Struts2+My ... -
C3P0 配置详细说明
2011-12-19 18:41 1262<c3p0-config><default- ... -
Flex Builder 4.5 正式版eclipse插件利用BlazeDS于java交互实例
2011-11-09 22:24 3305Flash Builder 4.5的插件好像跟3在细节上有点不 ... -
Java 发送邮件
2011-06-24 16:36 1481/** * 邮件工具 */ package t ... -
JVM调优总结
2011-05-25 17:30 1122堆大小设置JVM 中最大堆大小有三方面限制:相关操作 ... -
java调用shell
2011-05-09 12:34 1884转自:http://www.cnblogs.com/Sea ... -
如何使用Log4j?
2011-01-04 16:32 10321、 Log4j是什么? Log4j ... -
根据表信息生成JavaVO
2010-11-02 10:54 3153例子采用MySQL数据库 代码: package c ... -
BBS论坛系统
2010-09-07 23:45 2012今天上班的时候,有位陌生朋友跟我聊天,问我可有BBS论坛的源码 ... -
java socket 多线程实例
2010-07-26 09:06 6252题: 做一个简单的网络控制软件,分为Server端和Cli ... -
jquery uploadify插件多文件上传
2010-06-01 13:07 128970效果图: 1、jqu ... -
BufferedReader 和BufferedWriter 实例
2010-05-23 12:57 3483/** * 文件处理工具类 * @author sam ... -
利用Ext.ux.UploadDialog异步实现多文件上传
2010-05-15 10:35 114111、先看看效果: 接下来详细说说怎么用它:java ... -
Servlet 中java路径的直观表示
2010-05-12 14:20 1817路径的参考项 1、工程名:jxdBlog 2、Eclipse工 ... -
Java 写注册表
2010-05-09 01:36 2349这里介绍的是利用registry向windows系统写注册表的 ...
相关推荐
"tableExport_html表格导出excel等多种格式"是一个便捷的工具,它允许用户将HTML表格的数据轻松地导出为Excel、CSV、PDF等格式。这个工具通过引入一个JavaScript库,大大简化了这个过程,使得网页开发者和非技术人员...
原生JavaScript实现的HTML表格导出功能,无需依赖后台接口,能够实现浏览器全兼容,大大提高了用户体验。下面我们将详细介绍如何使用原生JavaScript实现这个功能。 首先,我们需要了解HTML表格的基本结构。HTML表格...
layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中的数据导出到Excel文件中。layui是一款轻量级的前端UI框架,以其简洁、优雅的代码风格和丰富的组件库深受开发者喜爱...
"HTML表格导出为Excel"就是一种常见的需求,它允许用户将展示在网页上的结构化数据,如表格,轻松地下载为Excel文件,便于进一步处理或分析。在这个过程中,我们通常会利用JavaScript库,比如jQuery,来实现这一功能...
Bootstrap表格导出Excel插件是前端开发中常用的一种工具,它允许用户将Bootstrap表格中的数据方便地导出为Excel文件,极大地提升了数据管理和分享的效率。这个插件主要基于JavaScript和Bootstrap框架,利用HTML5的...
总结,JavaScript操作HTML表格导出Excel主要涉及以下几个步骤: 1. 引入`FileSaver.js`库。 2. 创建HTML表格并填充数据。 3. 使用JavaScript获取表格数据并转换为CSV格式。 4. 创建Blob对象,并使用`saveAs`方法保存...
LigerUI Table不仅具备基本的表格功能,如排序、筛选、分页,还提供了丰富的扩展特性,如导出Excel功能。这个功能使得用户能够方便地将网页上的数据导出到Excel文件中,以便于进一步的数据分析或存储。 标题"...
以上就是将HTML表格导出到Excel的主要步骤和技术,结合前端JavaScript和后端C#,我们可以提供一个完整的解决方案。通过这种方式,用户可以方便地将网页上的数据导出为常见的电子表格格式,进行深度分析和管理。
在网页开发中,有时我们需要将HTML表格的数据导出到Excel文件中,以便用户可以进行更方便的查看、编辑和分析。"页面html Table表格导出Execl"这个主题涉及的技术点主要包括HTML表格的处理、JavaScript(或者jQuery)...
JAVA开发中需要将表格中数据导出成EXCEL文件,其中的某一项又要设置为HTML格式,并支持点击链接,使用POI的开源方式导出时可以参考到此文件的内容!
总的来说,利用JavaScript从HTML表格导出Excel文件涉及到HTML DOM操作、数据转换、CSV格式化和浏览器API的使用,是一个实用且常见的前端技能。开发者应当理解这些步骤,并根据项目需求选择合适的方法实现。
在前端开发中,导出表格...以上就是关于“前端表格导出Excel”的主要知识点。实际应用中,开发者需要根据项目需求和性能考虑,选择合适的实现方式和技术栈。通过熟练掌握这些技术,可以有效地提高前端项目的用户体验。
文件`Jquery_easyui_datagrid_js导出excel.doc`可能是文档说明或者包含插件使用的示例代码。通常,jQuery插件能简化Datagrid数据导出的操作。一种常见的方式是使用`html2canvas`和`jsPDF`库,它们可以将HTML内容转换...
在JavaScript中,我们可以遍历HTML表格中的每一行和每一列,将它们的值转化为CSV格式。这个过程涉及将单元格内容转成字符串,处理可能存在的特殊字符(如逗号、引号等),然后以逗号分隔。当所有行的数据都处理完后...
在"jQuery表格导出excel文件代码"中,可能使用了HTML5的`Blob`和`FileSaver.js`库来创建并保存文件。当用户点击导出按钮,jQuery会选择表格数据,将其转换为CSV字符串,然后利用`Blob`对象创建一个二进制大对象,...
总结来说,"表格导出excel.zip"这个压缩包涉及到HTML表格的创建、Bootstrap的使用以美化界面,以及JavaScript技术来实现从网页表格到Excel文件的导出功能。这些技术是现代Web开发中的基础,对于任何需要处理和展示...
在日常开发中,我们需要能够把页面上一个表格的内容导出到Excel中,然后用户修改后再导回到表格中的功能。 在这里,通过使用JQUERY+JQUERY UI+JSON-LIB+POI实现这个功能数据导出设计:通过使用JQUERY分析表格的...