关键代码:

<%
Response.Clear()
Response.CodePage=
Response.Charset="UTF-8"
Response.ContentType ="application/vnd.ms-word"
Response.AddHeader "Content-Disposition", "attachment; filename=WhitePaper"&formatDate(Now(),)&".doc"%><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>

具体<w:wordDocument>的内容没写出来。可以通过将word另存为xml得到。

xml中动态数据部分通过数据查询,然后绑定字段求值即可。

默认生成的xml是三行代码,XML主体部分是第三行,千万不要去调整这一行的格式(换行、缩进)会导致生成的xml 使用Word打开报错。

另外,asp文件必须保存为(UTF-8 带签名)的。

在导出过程中用到的几个ASP自定义函数:

计算字符串中文字数:

function LenChStr(str)
dim i
c=
for i= to Len(str)
'if Asc(Mid(str,i,1)) < 0 then
'if CheckExp("^[^\u4E00-\u9FA5]+$", Mid(str,i,1))=True then
'If not (Asc(Mid(str, i, 1)) < 10000 And Asc(Mid(str, i, 1)) > -10000) Then
valAsc = Asc(Mid(str, i, ))
valAscW = AscW(Mid(str, i, ))
If valAsc <> valAscW Then
c=c+
end if
next LenChStr=c
end function

输出指定长度的字符串,不足则补位(中文算两个长度):

Function PadRight(Value,Length,sChar)
Dim strText,I
strText = String(Length,sChar)
strText = Value & strText if (len(Value)+lenChStr(Value))<Length then
PadRight = Left(strText,Length-LenChStr(Value))
else
PadRight=Value
end if
End Function

转换时间,时间格式化:

Function formatDate(t,ftype)
dim y, m, d, h, mi, s
formatDate=""
If IsDate(t)=False Then Exit Function
y=cstr(year(t))
m=cstr(month(t))
If len(m)= Then m="" & m
d=cstr(day(t))
If len(d)= Then d="" & d
h = cstr(hour(t))
If len(h)= Then h="" & h
mi = cstr(minute(t))
If len(mi)= Then mi="" & mi
s = cstr(second(t))
If len(s)= Then s="" & s
select case cint(ftype)
case
' yyyy-mm-dd
formatDate=y & "-" & m & "-" & d
case
' yy-mm-dd
formatDate=right(y,) & "-" & m & "-" & d
case
' mm-dd
formatDate=m & "-" & d
case
' yyyy-mm-dd hh:mm:ss
formatDate=y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s
case
' hh:mm:ss
formatDate=h & ":" & mi & ":" & s
case
' yyyy年mm月dd日
formatDate=y & "年" & m & "月" & d & "日"
case
' yyyymmdd
formatDate=y & m & d
case
'yyyymmddhhmmss
formatDate=y & m & d & h & mi & s
end select
End Function

ASP导出Word带页眉页脚,中文不乱码的更多相关文章

  1. C# 操作Word页眉页脚——奇偶页/首页不同、不连续设置页码、复制页眉页脚、锁定页眉页脚、删除页眉页脚

    前言 本文是对Word页眉页脚的操作方法的进一步的阐述.在“C# 添加Word页眉页脚.页码”一文中,介绍了添加简单页眉页脚的方法,该文中的方法可满足于大多数的页眉页脚添加要求,但是对于比较复杂一点的 ...

  2. 使用C#在word中插入页眉页脚

    //插入页脚 public void InsertFooter(string footer) { if (ActiveWindow.ActivePane.View.Type == WdViewType ...

  3. C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化

    转:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 1.新建Word文档 #region 新建Word文档/// &l ...

  4. 如何利用API导出带有页眉页脚的excel

     在报表中设置的页眉页脚在页面中是看不到的,如下图: 页面中的效果: 在打印的时候,可以看到页眉页脚的效果: 那么,如果将页眉页脚导入到导出的excel中呢.我们可以通过API来进行设置: < ...

  5. 在C#中实现Word页眉页脚的全部功能

    页眉页脚经常使用于文章排版,在Word工具栏里.我们能够加入页眉,页脚,页码,日期和时间.图片等信息和内容.页眉/页脚有两个额外选项:首页不同,奇偶页不同.有时在不同的节(section)里插入不同的 ...

  6. iText + Freemarker实现pdf的导出,支持中文、css以及图片,页眉页脚,页眉添加图片

    本文为了记录自己的实现过程,具体的实现步骤是参考博文 https://www.cnblogs.com/youzhibing/p/7692366.html 来实现的,只是在他的基础上添加了页眉页脚及页眉 ...

  7. word页眉页脚 首页 索引 正文各不同的处理方法

    1.在目录和正文之间,加入分隔符——分节符——下一页,然后再添加页眉页脚,然后再添加索引:

  8. Office WORD如何为每一页设置不同的页眉页脚

    如下图所示,我想要为封面和目录,摘要等等设置不同的页眉页脚(一般封面和目录不需要页脚)   而从正文开始,套用相同的页眉和以页数作为页脚(注意"第一章 绪论"不是这个文档的第一页) ...

  9. NPOI 表头、页眉页脚重复设置

    NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...

随机推荐

  1. 函数buf_page_hash_get_low

    /******************************************************************//** Returns the control block of ...

  2. GET,POST,PUT,DELETE的区别

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...

  3. Nodejs express中创建ejs项目 error install Couldn't read dependencies

    最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了   书上命令为:   express -t ejs microblog 可是执行 ...

  4. BZOJ2693: jzptab

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2693 题意:同2154 多组数据 题解:按2154再往后转化一下就可以把n,m放到一边儿,然后 ...

  5. 英文 数字 不换行 撑破div容器

    我们在div等容器 中,如果规定了宽度,并且里面的内容不是全英文或者全数字是OK的,会自动换行,但是如果是全数字或者是全英文,则会撑破容器,如图     解决方法 word-wrap:break-wo ...

  6. apache开源项目 -- Tuscany

    tuscany是Apache组织关于SOA实现的一个开放源码的工程项目,目前处于孵化期阶段. 该项目主要基于SCA,SDO,DAS等技术上实现的. SCA 的基本概念以及 SCA 规范的具体内容并不在 ...

  7. JS三级折叠菜单特效 自动收缩其它级

    真的很不错!很实用,在IE6.IE7.IE8.FF.chrome等浏览器都正常运行,去掉CSS中 #menu ul中 {height:100px; overflow:auto;} 即可高度自适应 &l ...

  8. hisi平台mii网络模式和rmii网络模式的uboot制作

    MII网络uboot编译说明 一:编译生成默认的uboot1. 进入到uboot目录a. cd /home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot2. 新建临时文件 ...

  9. 【剑指offer 面试题22】栈的压入、弹出序列

    思路: 不停地压栈,直到栈头元素与弹出序列的首元素相等则出栈,同时弹出序列后移:若不相等则一直保持压栈,直到压入所有元素后弹出序列仍不为空,则说明无法匹配. C++: #include <ios ...

  10. 双网卡bond

           使用双网卡虚拟为一块网卡: 服务器版本: [root@kel ~]# lsb_release -a LSB Version: :core-3.1-amd64:core-3.1-ia32: ...