关键代码:

<%
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. JS兼容性问题(FF与IE)

    不同浏览器中js兼容问题大全 1.document.formName.item('itemName')问题 说明: //IE下(两种) document.formName.item("ite ...

  2. kindeditor编辑器图片水印

    //upload_pic.ashx源码 <%@ webhandler Language="C#" class="edit_html_upload_pic" ...

  3. Oracle 数据库整理表碎片

    Oracle 数据库整理表碎片 转载:http://kyle.xlau.org/posts/table-fragmentation.html 表碎片的来源 当针对一个表的删除操作很多时,表会产生大量碎 ...

  4. python模拟http请求

    下文主要讲述如何利用python自带的库模拟http请求,为以后利用python做API测试做准备. 只讲述模拟http的过程,具体到自己用的时候,要以自己的应用为准做出适当的调整. #!coding ...

  5. C扩展Python

    基本想法: 先看中文小介绍,再看英文详细文档. 1. 参考 首先参考THIS, IBM的工程师好像出了好多这样的文章啊,而且每次看到时间戳,我都想戳自己- -! 2. ERROR 可能遇到错误: fa ...

  6. hdu 2204 Eddy's爱好

    // 一个整数N,1<=N<=1000000000000000000(10^18).// 输出在在1到N之间形式如M^K的数的总数// 容斥原理// 枚举k=集合{2,3,5,7,11,1 ...

  7. ios第三方开源库

    1.AFNetworking 目前比较推荐的iOS网络请求组件,默认网络请求是异步,通过block回调的方式对返回数据进行处理. 2.FMDB 对sqlite数据库操作进行了封装,demo也比较简单. ...

  8. Creating SharePoint 2010 Event Receivers in Visual Studio 2010

    转:http://msdn.microsoft.com/en-us/library/gg252010(v=office.14).aspx Summary:  Learn how to create a ...

  9. IOS UINavigationController 操作相关集合

    1.修改中间Title字体以及大小 [self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dict ...

  10. JMeter重要知识点汇总

    1)现在对于JMeter来说,一个测试计划只能有一个cookie管理器.因为当多个manager存在时,JMeter目前还没有方法来指定使用哪个manager.同时,一个cookie manager中 ...