接上一篇,这是关于书签的操作.
/// <summary>
/// 打印商品
/// </summary>
/// <param name="strUserName"></param>
/// <param name="strPackId"></param>
private void MakeWordFile(string strUserName,string strPackId)
{
try
{
EnDoc ED = new EnDoc();
ED.DotPath = Server.MapPath(@"../Product/一览表.doc");
string path= Server.MapPath(@"../PrintProduct/");
if(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
ED.OpenFile();
string strSqlText = "查询语句"; //在该处写查询语句
DataTable myDataTable = new DataTable();
myDataTable = MC.Getdt(strSqlText); //数据库操作类,返回datatable类型数据
DataTable DT = new DataTable();
DT.Columns.Add("ID",Type.GetType("System.Int32"));
DataColumn[] pk = new DataColumn[1];
pk[0] = DT.Columns["ID"];
DT.PrimaryKey = pk;
DT.Columns["ID"].AutoIncrement = true;
DT.Columns["ID"].AutoIncrementSeed = 1;
DT.Columns["ID"].ReadOnly = true;
DT.Columns.Add("ID",Type.GetType("System.String"));
DT.Columns.Add("Name",Type.GetType("System.String"));
DT.Columns.Add("Num",Type.GetType("System.String"));
DataRow TempRow;
for (int i=0 ;i< myDataTable.Rows.Count;i++)
{
TempRow = DT.NewRow();
TempRow[""] = myDataTable.Rows[i]["ID"];
TempRow["Name"] = myDataTable.Rows[i]["Name"];
TempRow["Num"] = myDataTable.Rows[i]["Num"];
DT.Rows.Add(TempRow);
}
object lblName = "ProviderName";
ED.WriteData(ref lblName,"UserName"); //在书签处替换
ED.FillTable(DT,2,4,2);
string strFileName = strUserName + DateTime.Now.ToString("yyyyMMddHHmmss") +".doc";
object fileName = path + strFileName;
strFileName = "../PrintProduct/" + strFileName;
ED.SaveAs(ref fileName);
ED.Quit();
Response.Write("<Script language = 'javascript'>window.open('");
Response.Write(strFileName);
Response.Write("')</script>");
}
catch(Exception ex)
{
Response.Write("<script language = 'javascript'>alert('"+ex.Message+"');</script>");
}
}
*****************************888
EnDoc类
using System;
using Word;
using System.Reflection;
using System.Runtime.InteropServices ;
using System.Data ;
using System.Configuration;
using System.IO;