正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> ASP.Net资料库 关闭(快捷键alt+C)
搜索标签: Word 调用 实例
Asp.net下C#调用Word模版实例
[阅读次数:2173次]  [发布时间:2014年4月8日]
1,配置环境;将你要访问的文件夹的权限添加账户,这个账户是你在IIS配置的连接账户.也就是保证客户端访问服务器时使用的账户对你要操作的文件夹有足够的权限.建议将IIS默认的账户改为管理员账户.
2,思路:
在服务器端访问本地存在的Word文件,并根据他新建一个文件,利用Word的标签定位传值.客户端浏览器访问的就是这个文件.下次当用户再次点击打印按钮的时候删除原来的Word文件,保证服务器不会存在过多文件而产生负担.
具体代码如下:
private void Button1_Click(object sender, System.EventArgs e)
{

//查询数据库是否有已经存在的Word文件,如果有取出其最大Num值建立新文件名并删除原来文件
string sql="select * from hse_user_doc where hud_name='"+this.UserID+"'and hud_sort='B'";
string NewName="";
string OldName="";
int num=0;
using( DataSet dataset = SqlHelper.ExecuteDataset( gen.conn, CommandType.Text,sql) )
{
DataTable table=dataset.Tables[0];
foreach(DataRow dr in table.Rows)
{
if(Int32.Parse(dr["hud_num"].ToString()) > num)
{
num=Int32.Parse(dr["hud_num"].ToString());
}
try
{
OldName=@"\hseoa\PrintPages\"+"bwl"+this.UserID+dr["hud_num"]+".doc";
File.Delete(Server.MapPath(OldName));
string sqlDelete="delete from hse_user_doc where hud_name='"+this.UserID+"' and hud_num='"+num+"' and hud_sort='B'";
SqlHelper.ExecuteNonQuery(gen.conn,CommandType.Text,sqlDelete);
}
catch( Exception o)
{
throw ( o );
}

}
}
num++;
NewName=@"\hseoa\PrintPages\"+"bwl"+this.UserID+num.ToString()+".doc";

//建立新的Word文件
FillWordTemp(Server.MapPath(@"\hseoa\PrintPages\备忘录.doc").Replace("'","'+char(39)+'"),Server.MapPath(NewName).Replace("'","'+char(39)+'"));

//在数据库中插入新的文件记录
string sqlInsert="insert hse_user_doc (hud_name,hud_num,hud_sort) values('"+this.UserID+"','"+num+"','B')";
SqlHelper.ExecuteNonQuery(gen.conn,CommandType.Text,sqlInsert);

//定义在浏览器中打开的文件名
string Name="/hseoa/PrintPages/"+"bwl"+this.UserID+num.ToString()+".doc";
string strPage = "<script>window.open('"+Name+"')</script>" ;
Page.RegisterStartupScript("",strPage);
    
}
//以下是上面用到的函数
public void SaveAs(string strFileName )
{
object missing = Type.Missing;
object fileName = strFileName;
WordDoc.SaveAs(ref fileName, ref missing,ref missing, ref missing,ref missing,ref missing,ref missing,
ref missing,ref missing,ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
}

//定义一个Word.Application 对象
public void activeWordApp()
{
WordApp = new Word.ApplicationClass();
}

public void Quit( )
{
object missing = System.Reflection.Missing.Value;
WordApp.Application.Quit(ref missing, ref missing, ref missing);

}

//基于模版新建Word文件
public void OpenTempelte(string strTemppath)
{
object Missing = Type.Missing;
//object Missing = System.Reflection.Missing.Value;

activeWordApp();
WordApp.Visible = false;

object oTemplate = (object)strTemppath;
try
{
WordDoc = WordApp.Documents.Add(ref oTemplate, ref Missing,ref Missing, ref Missing);
WordDoc.Activate();
}
catch(Exception Ex)
{
throw new Exception(Ex.Message);
}


}
public void FillWordTemp(string tempName, string saveAsFileName)
{

//打开Word模版
OpenTempelte(tempName);
//对标签"Name"进行填充,即函件题目项
object bkmC="Name";
if(WordApp.ActiveDocument.Bookmarks.Exists("Name") == true)
{
WordApp.ActiveDocument.Bookmarks.get_Item(ref bkmC).Select();

}
WordApp.Selection.TypeText(this.tx_title.Text);
//对标签"Content"进行填充,即内容项
string strContent=this.tx_content.Text;
object content="Content";
if(WordApp.ActiveDocument.Bookmarks.Exists("Content") == true)
{
WordApp.ActiveDocument.Bookmarks.get_Item(ref content).Select();

}
WordApp.Selection.TypeText(strContent);

SaveAs(saveAsFileName);
Quit();

}




本页地址: [复制地址]
该页内容非本站原创 收藏自:http://www.cnblogs.com/catvi/archive/2006/04/04/1953015.html
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·js替换所有回车换行符
·QQ/MSN在线交流代码
·IE弹出“中国工商银行防钓鱼...
·如何取消键盘上的一些快捷键...
·win7声音小的解决方法
·webdav漏洞的利用
·强制两端对齐的函数或者CSS...
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·天诺时空技术技术论坛
·js验证手机号码格式
·JS展开和收缩效果(二)
·本地计算机上的 MSSQLSERVE...
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。