使用Asp.Net生成Word文档并直接下载
在网站的使用中,有时候需要把数据库里面的内容生成到word文档里面,然后下载到本地进行查看,使用VS.NET就可以实现这个功能,下面这个例子就简单到实现了服务器端生成word文档并提供下载的功能,虽然没有彻底地把整个操作写出来(尤其是写生成word的时候),但整个流程是完成了的,至于其中更详细的内容,请参阅MSDN(基本上都是E文,=_=!!!)。
开发环境:VS2005 + Windows2003(IIS6) + Office2003
使用到的模板文件(d:\Temp.dot),关于如何使用office模板,请参阅office:
头:
脚:
之前必须提到的有一点,就是权限的问题,这种对硬盘上非web目录是需要权限的,看了一下别人的发言之类的,发觉应该在组件管理器里面吧word组件的权限开给Network Service(Windows2003),但是打开系统的管理器,发觉怎么也设置不了,汗!!上次我写IIS操作的时候还可以用咧,可能是我把系统的什么服务关掉了引起的。也没有去仔细找,就按照前面ASP.NET操作IIS的那篇文章在web.config里面加了一条
<identity impersonate="true" userName="administrator" password="XXXXX"/>
如果哪位朋友知道,也给我留个言,先谢谢啦~~~~~~
在本例中,用到的是MS的word组件(Microsoft.Office.Interop.Word.dll),所以先在项目里面添加引用,如图:
在CreateWord.cs文件里面添加:
using System.Reflection;
using Microsoft.Office.Interop.Word;
然后在按钮事件里面添加如下代码:
ApplicationClass wordApp = new ApplicationClass();
object missing = System.Reflection.Missing.Value;
object tempName = @"d:\Temp.dot"; // 模板名称,本例中的模板如后面的图
object docName = @"D:\WebSite\a.doc"; // 生成的word文件,可以不放在web目录下,当然,实际应用中可能会涉及到动态生成文件名,相信这点难不倒你吧 ^_^
// 生成新文档,这里使用了上面提到的模板,如果不想使用指定的模板,可使用missing,这是会使用默认的模板。关于生成word文件的几个方法,参阅MSDN
Document MyDoc = wordApp.Documents.Add(ref tempName, ref missing, ref missing, ref missing);
wordApp.Visible = true;
MyDoc.Activate();
wordApp.Selection.Font.Size = 30; // 字体大小
wordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCent
相关文档:
概念:其实思路非常简单,就像画画一样,你脑中的饼图想啥样子的,就把它在网页里画出来而已。相信大家小时候都画过画,不同的是,小时候,在纸上画,现在在网页上画。
这是我脑子里饼图的样子:<激光传真机>
C#后台示例代码:<激光一体机>
using System;
using System.Data;
using System.Configur ......
原文地址:http://www.codeproject.com/KB/aspnet/AspDotNetCache.aspx
介绍
缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一。例如你可以在复杂查询的时候缓存数据,这样后来的请求就不需要从数据库中取数据,而是直接从缓存中获取。通过使用缓存可以提高应用程序的性能。
主要有两种类型的缓存:
1 ......
自从上次有了一次破解验证码的经验后,就一直想自己写个像样点的验证码。今天无聊所以就写了,总体上来说还算很满意。就是有时复杂得肉眼都看不出是啥(这也跟图片太小有关系)。
这个验证码支持随机字体、字体大小、字体样式(普通、粗体、斜体)、字体颜色、自定义字符等。
代码中的libFont是字体库,libC ......
ASP.Net中使用VB.Net调用存储过程并得到返回值
来源:qqread论坛 作者: 出处:巧巧读书 2006-08-03 进入讨论组
//存储过程代码
CREATE PROCEDURE [AddNewInvoiceInfo] (@sUserID int,@sClaimMethod varchar(50),@sInvoiceNum varchar(50),@sInvoiceDate datetime,@sBuyCity varchar(50))AS
Insert Into SMB_In ......
1. 使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(ob ......