`
tonyJ
  • 浏览: 145502 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

web页面如何导出特殊格式的表格

 
阅读更多
1、实现思路
先将要导出的表格格式和数据生成页面,使用流的机制将页面内容全部获取发送到后台,后台再以流的形式写入execl中。
2、具体事例和步骤
如下图所示的表格格式


第一 先将该表格格式数据写入页面中,如下图


第二 在该页面中 增加js方法,将页面的内容抽取并发送至后台
[#ftl]
[@b.head/]
<body onload="exportData()">
<table align="center" class="formTable" id="exportTable" style="display: none">
	<tr>
		<td>学校创新学分取得累计分值</td>
		[#list yearList as year]
			<td colspan="4">
				${year}级
			</td>
		[/#list]
	</tr>
	<tr>
		<td></td>
		[#list yearList as year]
			<td>
				竞赛类
			</td>
			<td>
				创新项目类
			</td>
			<td>
				学术论文类
			</td>
			<td>
				发明专利类
			</td>
		[/#list]
	</tr>
	<tr>
		<td>20分以上</td>
		[#list yearList as year]
			<td>
				${(forthMap.get(year).competCount)!}
			</td>
			<td>
				${(forthMap.get(year).innovateCount)!}
			</td>
			<td>
				${(forthMap.get(year).thesisCount)!}
			</td>
			<td>
				${(forthMap.get(year).patentCount)!}
			</td>
		[/#list]
	</tr>
	<tr>
		<td>11-20分(包括20分)</td>
		[#list yearList as year]
			<td>
				${(thirdMap.get(year).competCount)!}
			</td>
			<td>
				${(thirdMap.get(year).innovateCount)!}
			</td>
			<td>
				${(thirdMap.get(year).thesisCount)!}
			</td>
			<td>
				${(thirdMap.get(year).patentCount)!}
			</td>
		[/#list]
	</tr>
	<tr>
		<td>7-10分(包括10分)</td>
		[#list yearList as year]
			<td>
				${(secondMap.get(year).competCount)!}
			</td>
			<td>
				${(secondMap.get(year).innovateCount)!}
			</td>
			<td>
				${(secondMap.get(year).thesisCount)!}
			</td>
			<td>
				${(secondMap.get(year).patentCount)!}
			</td>
		[/#list]
	</tr>
	<tr>
		<td>1-6分(包括6分)</td>
		[#list yearList as year]
			<td>
				${firstMap.get(year).competCount}
			</td>
			<td>
				${firstMap.get(year).innovateCount}
			</td>
			<td>
				${firstMap.get(year).thesisCount}
			</td>
			<td>
				${firstMap.get(year).patentCount}
			</td>
		[/#list]
	</tr>
	[@b.form name="dataExportForm" action="!dataExport" target="blank"]
        <input type="hidden" name="courseTableHTML" value=""/>
    [/@]
</table>
</body>
<script>
		[#--编制导出内容--] 
	    function exportData() {
	        var outputDiv = $("<div>");
        	var excelTable = exportDataSet(); 
		    excelTable.appendTo(outputDiv);
	        $("input[name*='courseTableHTML']").val(outputDiv.html());
	        bg.form.submit("dataExportForm");
	    } 	
	    [#--编制导出表格样式和内容--]
	    function exportDataSet() {
	        var manauHTML=jQuery("#exportTable").html();
	        var excelTable = $("<table>");
	        excelTable.css("text-align", "center");
	        excelTable.attr("align", "center");
	        excelTable.attr("border", "1px");
	        excelTable.html(manauHTML);
	        excelTable.find("br").each(function(){
	           $(this).replaceWith("        ");//利用自动换行
	        });
	        excelTable.find("*").removeAttr("title");
	        excelTable.find("*").removeAttr("width");
	        excelTable.find("*").removeAttr("height");
	        excelTable.find("*").removeAttr("class");
	        excelTable.find("td").css("text-align", "center");
	        return excelTable;      
	    }
</script>
[@b.foot/]

我使用的页面是ftl格式的,主要方法是exportData(),exportDataSet()。
和这一段代码
[@b.form name="dataExportForm" action="!dataExport" target="blank"]
        <input type="hidden" name="courseTableHTML" value=""/>
[/@]


第三 后台页面的dataExport方法,在struts2中使用的
        /**
	 * 导出数据
	 * @return
	 */
	public String dataExport() {
	    HttpServletResponse response = ServletActionContext.getResponse();
	    response.setHeader("Content-Disposition",	
	            "attachment;filename=dataExport.xls");
	    return forward();
	}


第四步 数据输出的页面 dataExport.ftl
<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>
<meta http-equiv=Content-Type content="application/vnd.ms-excel;charset=UTF-8"> 
<meta name=ProgId content=Excel.Sheet>
</head>
<body link=blue vlink=purple>
${Parameters["courseTableHTML"]}
</body>
</html>

主要是设置导出的文件格式,注意头文件的信息。

3、导出的execl数据格式截图如下:



这种导出方式可以导出格式不正规的表格,很方便。
  • 大小: 34.5 KB
  • 大小: 26.1 KB
  • 大小: 56.2 KB
分享到:
评论

相关推荐

    简单实用网页表格数据导出Excel电子表格文件jQuery插件

    网页表格数据导出到Excel是Web开发中常见的一项需求,特别是在数据分析、报表展示等领域。jQuery作为一款广泛使用的JavaScript库,提供了许多便捷的插件来实现这一功能。本项目"简单实用网页表格数据导出Excel电子...

    简单的导出excel表格列子

    在Web页面上,通常我们会有一个表格展示数据,用户可能需要将这些数据下载到本地以便离线查看或进一步分析,这时候导出为Excel格式就显得尤为重要。这个例子中,开发者可能使用了HTML5的`&lt;a&gt;`标签配合`download`属性...

    web 导出EXCEL

    在Web应用中,导出Excel是一项常见的需求,用于将网页上的数据转化为用户可编辑和分析的电子表格格式。"Web导出EXCEL"的技术主要关注如何高效、稳定地实现这一功能,尤其是处理大量数据时,如何避免因Excel自身限制...

    ASP.NET导出excel

    ASP.NET导出Excel是Web应用程序开发中的一个常见需求,它允许用户从网页上直接下载数据到Excel文件,便于数据分析和存储。在.NET 2008和SQL Server 2000的环境下,开发者可以利用ASP.NET框架提供的功能来实现这一...

    网页文字导出word文档格式jquery.wordexport插件

    `jquery.wordexport`插件就是针对这个需求而设计的一个工具,能够帮助开发者将网页中的文本内容方便快捷地导出为Microsoft Word文档格式。 该插件的核心功能是将网页中的选定内容转换为`.doc`或`.docx`文件,让用户...

    web导出数据到excel中

    在网页中,你可能有一个表格或者其他的数据显示区,用于展示要导出的数据。这些数据可以通过JavaScript动态生成或者获取。HTML表格可以使用`&lt;table&gt;`元素构建,包含`&lt;thead&gt;`(表头)、`&lt;tbody&gt;`(主体)和`&lt;tfoot&gt;...

    datatable导出json、text、excel、word等格式

    在IT行业中,`DataTable` 是一个广泛使用的组件,特别是在Web应用程序开发中,它允许开发者以表格形式展示数据,并提供各种操作功能,如排序、过滤、分页等。本资源主要涉及的是如何在`DataTable`中实现动态加载数据...

    一款web表格插件

    6. 导入导出:可能支持CSV、Excel等格式的数据导入导出,便于数据交换和备份。 7. 拖放排序:允许用户通过拖放来调整列的顺序,或者进行行的移动。 8. 国际化:支持多语言环境,如README-CN.md和README-EN.md文件所...

    struts2+poi实现excel表格导出

    Struts2和Apache POI是Java开发中两个重要的工具,它们在处理Web应用程序中的数据导出,特别是Excel表格导出方面发挥着重要作用。Struts2是一个基于MVC设计模式的Web应用框架,它极大地简化了Java Web开发。而Apache...

    JSP 导出Excel表格的实例

    使用JSP导出Excel表格,可以让用户将网页中的表格数据转换成Excel文件格式进行保存,这样的操作在数据报告、数据导出等场景中非常常见。 在本文中,我们将讲解如何通过JSP来实现导出Excel表格的实例。首先,我们...

    jspdf 导出页面内容

    此外,`jspdf`还支持Unicode,这意味着它可以处理多种语言和特殊字符,使得多语种内容的导出成为可能。 **使用示例** 使用`jspdf`的基本流程如下: 1. 引入`jspdf`库:在HTML文件中通过`&lt;script&gt;`标签引入`jspdf....

    将页面表格信息以excel形式供用户下载

    在网页开发中,有时我们需要提供一个功能,允许用户将页面上的表格数据导出为Excel文件。这个过程涉及到了Web开发中的动态数据处理、文件生成以及客户端下载等技术。本示例提供了一个完整的解决方案,适用于初学者...

    ASP.NET导出报表

    在IT领域,特别是Web开发中,ASP.NET框架一直是一个热门且功能强大的选择。它允许开发者构建动态、交互式的网页应用程序。其中一个常见的需求是将数据导出为Excel格式,以便用户可以方便地下载和分析数据。以下是从...

    poi读取并导出excel(jsf bean 页面的实现)

    3. 数据表格的实现:在JSF页面中,使用`t:dataTable`标签来展示数据表格,通过绑定JSF Bean的数据,实现数据的展示和操作。 4. 文件下载的实现:通过使用`HttpServletResponse`和`OutputStream`,实现文件的下载。...

    [其他类别]WEB SQL数据库管理工具_web_sql_manager.zip

    6. **导入导出**:将数据从CSV或其他格式导入到数据库,或将数据库导出为其他格式。 7. **权限管理**:设置不同用户的访问权限,确保数据安全。 了解并掌握这样一个Web SQL数据库管理工具,对于Web开发者来说,不仅...

    BugFree3.0.4导出BUG操作步骤

    8. 导出BUG的最终格式:完成以上步骤后,BUG列表将以一种易于管理和查看的形式出现在Excel表格中,方便进行后续的数据分析和报告生成工作。 总结以上步骤,BugFree3.0.4导出BUG操作是一个涉及Web后台管理、数据格式...

    GridView导出Excel实例

    首先,我们需要创建一个ASP.NET Web Form页面,添加GridView控件,并将其绑定到数据源,如SQL Server数据库。在后台代码中,使用Dataset或Entity Framework等方法填充数据到GridView。确保在GridView中设置适当的列...

    JSP中table导出多表头excel

    在IT行业中,尤其是在Web开发领域,常常需要将网页上的数据导出到Excel文件,以便用户进行数据分析或存储。本主题聚焦于"JSP中table导出多表头excel"的技术实现,这是一种常见的需求,特别是在展示复杂表格数据时,...

    Asp.net导出Excel(HTML输出方法) 笔记

    在.NET框架中,ASP.NET是一种常用的Web开发技术,它提供了丰富的功能来构建动态网站和Web应用程序。本笔记主要探讨如何使用ASP.NET实现HTML内容到Excel的导出功能,这是一个常见的需求,例如在数据分析、报表生成...

    C# 将数据导出到Excel汇总

    在软件开发中,特别是在Web应用程序的构建过程中,将数据导出到Excel是一种常见的需求,尤其是在数据分析、报表生成等场景下。C#作为.NET框架的主要编程语言之一,提供了多种方式来实现这一功能。本文将基于给定的...

Global site tag (gtag.js) - Google Analytics