用Coldfusion生成 OFFICE 文件的代码

这几天在经典、5D碰到很多人在问,如何用CF生成EXCEL文件,昨天夜晚就写了一个示范程序放上来供大家参考。

  我建议大家先自己慢慢体会,程序本身并不复杂,如果看不懂的再来问,最好不要看都没看就来发问...

  好的,我就用我CCF论坛的数据库来做是实验,目的是在线打开EXCEL文件和在线生成EXCEL文件。文件内容就是CCF论坛所有版块的名称和编号。我顺便做了个生成WORD文件的.代码就改了一处.大家仔细看看.
  在线打开OFFICE文件必须你系统安装了OFFICE。记住这点,要不然就会提示下载。

<!---Application.cfm文件代码--->

<CFAPPLICATION NAME="CfToOffice"
sessionmanagement="Yes">

<CFSET request.DSN="CCF"><!---数据库DSN--->

<!------index.cfm文件代码------->

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

<cfquery name="viewlist" datasource="#request.dsn#">
select boardID,boardNAME from board
order by boardID
</cfquery>

<html>
<head>
    <title>CCForum栏目一览</title>
</head>
<body>

<center><h3>CCForum栏目一览</h3></center><br><br>
<table border="1" align="center">
<tr><td align="center"><b>编号</b></td><td align="center"><b>名称</b></td></tr>
<cfoutput query="viewlist">
<tr><td align="center">#boardID#</td><td align="left">#boardname#</td></tr>
</cfoutput>
</table>
<p>
<center>
<a href="web.cfm" target="_blank">以WEB方式用EXCEL打开</a><br><br>
<a href="doc.cfm" target="_blank">以WEB方式用word打开</a><br><br>
<a href="file.cfm" target="_blank">生成EXCEL文件并下载</a><br><br><br>
CopyRight(C)wait hunanet.com
</center>
</body>
</html>

<!-----这个文件是用来在线以EXCEL文件形式打开的代码---->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<cfsetting enablecfoutputonly="Yes">
<cfquery name="getboard" datasource="#request.dsn#">
select boardID,boardNAME from board
order by boardID
</cfquery>

<cfcontent type="application/msexcel">
<cfheader name="Content-Disposition" value="filename=board.xls">

<cfset tabchar=chr(9)>
<cfset newline=chr(13)&chr(10)>

<cfloop query="getboard">
<cfoutput>#boardID##tabchar##boardname##newline#</cfoutput>
</cfloop>

<!--------增加一个生成WORD示范....注意,就只改动了一处.--------->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<cfsetting enablecfoutputonly="Yes">
<cfquery name="getboard" datasource="#request.dsn#">
select boardID,boardNAME from board
order by boardID
</cfquery>

<cfcontent type="application/msword">
<cfheader name="Content-Disposition" value="filename=board.doc">

<cfset tabchar=chr(9)>
<cfset newline=chr(13)&chr(10)>

<cfloop query="getboard">
<cfoutput>#boardID##tabchar##boardname##newline#</cfoutput>
</cfloop>

<!---大家关心的来了,接下来我们做重要部分了---->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<cfsetting enablecfoutputonly="Yes"><!-- 删除空白,提高性能 -->

<cfparam name="filebody" default="">
<cfset tabchar=chr(9)><!-- 设置TAB变量 -->
<cfset newline=chr(13)&chr(10)><!-- 设置换行变量 -->

<cfset filepath=expandpath("file/")><!-- 把相对路径换成绝对路径 -->
<cfset writepath="#filepath##session.cfid#.xls"><!-- 绝对路径加上文件名 -->

<!-- 查询数据 -->
<cfquery name="getboard" datasource="#request.dsn#">
select boardID,boardNAME from board
order by boardID
</cfquery>

<!-- 把所有信息设为一个变量filebody -->
<cfloop query="getboard">
<cfoutput>
<cfset filebody=filebody & "#boardID##tabchar##boardname#" & newline>
</cfoutput>
</cfloop>

<!-- 把filebody写入文件 -->
<cffile action="WRITE" file="#writepath#" output="#filebody#" addnewline="No">

<cfoutput>你所需要的信息已经生成EXCEL格式文件,
文件地址是:<br>

<a href="file/#session.cfid#.xls">http<cfif CGI.HTTPS neq 'off'>s</cfif>

://#CGI.HTTP_HOST#/CF/Excel/file/#session.cfid#.xls</a>

</cfoutput>

  值得注意的,我把存放动态生成的XLS文件存放在一个叫FILE的文件夹.你运行这代码时必须先建立一个FILE文件夹....要不然会出错.

(0)

相关推荐

  • 用Coldfusion生成 OFFICE 文件的代码

    这几天在经典.5D碰到很多人在问,如何用CF生成EXCEL文件,昨天夜晚就写了一个示范程序放上来供大家参考. 我建议大家先自己慢慢体会,程序本身并不复杂,如果看不懂的再来问,最好不要看都没看就来发问... 好的,我就用我CCF论坛的数据库来做是实验,目的是在线打开EXCEL文件和在线生成EXCEL文件.文件内容就是CCF论坛所有版块的名称和编号.我顺便做了个生成WORD文件的.代码就改了一处.大家仔细看看. 在线打开OFFICE文件必须你系统安装了OFFICE.记住这点,要不然就会提示下载. <

  • JavaScript生成.xls文件的代码

    贴代码,一切尽在注释中 <html> <head> <meta charset="utf-8"> </head> <body> <input type="button" value="下载设备模板" onclick="foo;" /> <script type="text/javascript" language="ja

  • java生成压缩文件示例代码

    代码: 复制代码 代码如下: import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream; import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream; /**  * @project: Test  * @author

  • php生成txt文件实例代码介绍

    这是一个朋友过来的 php 生成 txt 文件代码,这只是一个实例,需要我来给他生成多个 txt 文件实例的,但我觉得他这个代码有点意思,所以就分享上来了. 先说下这个 php 生成 txt 文件代码都是什么功能吧,肯定是要生成 txt 文件的,有点废话了,不说其它的了,这个 php 代码可以生成指定目录下的一个 txt 文件,并在 txt 文件里面写入三行文字,这个是在 php 里面定义好的. 夏日博客分享下实例的代码如下: <!doctype html> <html> <

  • 详解python脚本自动生成需要文件实例代码

    python脚本自动生成需要文件 在工作中我们经常需要通过一个文件写出另外一个文件,然而既然是对应关系肯定可以总结规律让计算机帮我们完成,今天我们就通过一个通用文件生成的python脚本来实现这个功能,将大家从每日重复的劳动中解放! 定义一个函数 def produceBnf(infilename,outfilename): List=[] with open(infilename,'r') as inf: for line in inf.readlines(): List.append(re.

  • php在线生成ico文件的代码

    index.php 复制代码 代码如下: <?PHP $output = ""; if(isset($_GET['action'])&&$_GET['action'] == 'make'){     if(isset($_FILES['upimage']['tmp_name']) && $_FILES['upimage']['tmp_name'] && is_uploaded_file($_FILES['upimage']['tmp

  • asp下用fso生成js文件的代码

    <%sub fsojs()%>  <% Set fso= Server.CreateObject("Scripting.FileSystemObject") set fd=fso.createtextfile(server.MapPath("../category.js"),true) '开始操作 set rs=server.CreateObject("adodb.recordset") rs.Open "select

  • python读取html中指定元素生成excle文件示例

    Python2.7编写的读取html中指定元素,并生成excle文件 复制代码 代码如下: #coding=gbkimport stringimport codecsimport os,timeimport xlwtimport xlrdfrom bs4 import BeautifulSoup from xlrd import open_workbook class LogMsg:        def __init__(self,logfile,Level=0):              

  • 用 Python 定义 Schema 并生成 Parquet 文件详情

    目录 一.简单字段定义 1.定义 Schema 并生成 Parquet 文件 2.验证 Parquet 数据文件 二.含嵌套字段定义 1.验证 Parquet 数据文件 Java 和 Python 实现 Avro 转换成 Parquet 格式, chema 都是在 Avro 中定义的.这里要尝试的是如何定义 Parquet 的Schema, 然后据此填充数据并生成 Parquet 文件. 一.简单字段定义 1.定义 Schema 并生成 Parquet 文件 import pandas as p

  • C# 解析 Excel 并且生成 Csv 文件代码分析

    今天工作中遇到一个需求,就是获取 excel 里面的内容,并且把 excel 另存为 csv,因为本人以前未接触过,所以下面整理出来的代码均来自网络,具体参考链接已丢失,原作者保留所有权利! 例子: 复制代码 代码如下: using System; using System.Data; namespace ExportExcelToCode {     class ExcelOperater     {         public void Operater()         {      

随机推荐