你这个我觉得直接用word 的宏就完了
里面的VBA语法跟asp也差不多
asp操作word感觉不靠谱。。下面是我们从Oracle取数的函数,sql 或者access只是连接字串不同Public Function GetTableFieldData(sMostID As String, sTableName As String, sFieldName As String)
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sprojid As String
On Error GoTo errHandle
cn.Open "Provider=OraOLEDB.Oracle.1;Password=*;Persist Security Info=True;User ID=*;Data Source=*"
Set rs.ActiveConnection = cn
sSQL = "select * from tProjInfo where sMostID='" & sMostID & "'"
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
rs.Open sSQL
If rs.EOF Then
GetTableFieldData = ""
Exit Function
End If
If rs.RecordCount > 1 Then
GetTableFieldData = "Too many rows..."
Exit Function
End If
sprojid = rs.Fields("sProjID")
sSQL = "select " & sFieldName & " from " & sTableName & " where sProjID='" & sprojid & "'"
If rs.State = 1 Then rs.Close
rs.Open sSQL
If rs.EOF Then
GetTableFieldData = "No data returned"
Else
GetTableFieldData = rs.Fields(sFieldName)
End If
cn.Close
Set rs = Nothing
Set cn = Nothing
Exit Function
errHandle:
MsgBox Err.DescriptionEnd Function
里面的VBA语法跟asp也差不多
asp操作word感觉不靠谱。。下面是我们从Oracle取数的函数,sql 或者access只是连接字串不同Public Function GetTableFieldData(sMostID As String, sTableName As String, sFieldName As String)
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sprojid As String
On Error GoTo errHandle
cn.Open "Provider=OraOLEDB.Oracle.1;Password=*;Persist Security Info=True;User ID=*;Data Source=*"
Set rs.ActiveConnection = cn
sSQL = "select * from tProjInfo where sMostID='" & sMostID & "'"
rs.CursorLocation = adUseClient
rs.LockType = adLockOptimistic
rs.Open sSQL
If rs.EOF Then
GetTableFieldData = ""
Exit Function
End If
If rs.RecordCount > 1 Then
GetTableFieldData = "Too many rows..."
Exit Function
End If
sprojid = rs.Fields("sProjID")
sSQL = "select " & sFieldName & " from " & sTableName & " where sProjID='" & sprojid & "'"
If rs.State = 1 Then rs.Close
rs.Open sSQL
If rs.EOF Then
GetTableFieldData = "No data returned"
Else
GetTableFieldData = rs.Fields(sFieldName)
End If
cn.Close
Set rs = Nothing
Set cn = Nothing
Exit Function
errHandle:
MsgBox Err.DescriptionEnd Function
解决方案 »
- 求汉化版的vss 以及使用文档、部署说明
- 如何创建一个Word文件,并把数据库挑选出来的记录写入其中?
- asp.net 邮件发送问题
- 为什么我的.SLN文件和其它的文件不在一起呢???
- 一个时间比较的问题
- wcf data service 如何部署到iis上
- 求一網址﹐估計深入學dotnet的人應該有吧
- 如何实现在服务端控件textbox1内录入的同时为服务端控件textbox2赋值
- 未登陆用户禁止访问或下载其下的资料
- 请问微软自带的一个例子Duwamish 7.0,为什么总出现你没安装IIS的提示信息!
- asp.net mvc 简单blog思路,求结
- rdlc报表中的图表控件的数据绑定之后,x轴的轴标题的显示,如何做到让其无限个标题,不受限制
换去WEB开发版-ASP吧。
/// 将Web控件导出
/// </summary>
/// <param name="source">控件实例</param>
/// <param name="type">类型:Excel或Word</param>
public void ExpertControl(System.Web.UI.Control source, DocumentType type)
{
//设置Http的头信息,编码格式
if (type == DocumentType.Excel)
{
//Excel
Response.AppendHeader("Content-Disposition","attachment;filename=result.xls");
Response.ContentType = "application/ms-excel";
}
else if (type == DocumentType.Word)
{
//Word
Response.AppendHeader("Content-Disposition","attachment;filename=result.doc");
Response.ContentType = "application/ms-word";
}
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.UTF8; //关闭控件的视图状态
source.Page.EnableViewState =false; //初始化HtmlWriter
System.IO.StringWriter writer = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
source.RenderControl(htmlWriter); //输出
Response.Write(writer.ToString());
Response.End();
} //文档类型
public enum DocumentType
{
Word,
Excel
}参考另外 你把数据取出来 存入DataSet也可以用下面方法导出
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="ds">Dataset</param>
/// <param name="FileName">文件名,包括后缀。如:xxx.xls</param>
public void CreateExcel(DataSet ds, string FileName)
{
HttpResponse resp;
resp = Page.Response;
FileName = Page.Server.UrlEncode(FileName); //文件名编码,否则出现乱码
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders = "", ls_item = "";
//定义表对象与行对象,同时用DataSet对其值进行初始化
DataTable dt = ds.Tables[0]; DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
int i = 0; int cl = dt.Columns.Count;
//取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
colHeaders = "姓名\t性别\n";
resp.Write(colHeaders);
//向HTTP输出流中写入取得的数据信息
//逐行处理数据
foreach (DataRow row in myRow)
{
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
ls_item += row["Uname"].ToString() + "\t" + row["Usex"].ToString() + "\n";
resp.Write(ls_item);
ls_item = "";
}
resp.End();
}