/// <summary>
///
调用模板生成word
/// </summary>
///
<param name="templateFile">模板文件</param>
///
<param name="fileName">生成的具有模板样式的新文件</param>
///<param name="dt">需插入到文档中的数据 </param>
public void ExportWord(string templateFile, string
fileName,DataTable dt)
{
try
{
Word.Application app = new Word.Application();
//生成word程序对象
//模板文件
string TemplateFile =
templateFile;
//生成的具有模板样式的新文件
string FileName =
fileName;
//模板文件拷贝到新文件
File.Copy(TemplateFile,
FileName);
//生成documnet对象
Word.Document doc = new
Word.Document();
object Obj_FileName =
FileName;
object Visible =
false;
object ReadOnly =
false;
object missing =
System.Reflection.Missing.Value;
//打开文件
doc
= app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref
missing,
ref missing, ref missing, ref missing, ref
missing,
ref missing, ref missing, ref missing, ref
Visible,
ref missing, ref missing, ref
missing,
ref
missing);
doc.Activate();
int WordNum =
18;//书签个数
//将光标转到模板中定义的书签的位置,插入所需要添加的内容,循环次数与书签个数相符
for (int WordIndex = 1; WordIndex <= WordNum;
WordIndex++)
{
object WordMarkName =
dt.Columns[WordIndex-1].ToString();//word模板中的书签名称
object what =
Word.WdGoToItem.wdGoToBookmark;
doc.ActiveWindow.Selection.GoTo(ref what, ref missing, ref missing, ref
WordMarkName);//光标转到书签的位置
doc.ActiveWindow.Selection.TypeText(dt.Rows[0][""+dt.Columns[WordIndex-1].ToString()+""].ToString());//插入的内容,插入位置是word模板中书签定位的位置
//doc.ActiveWindow.Selection.ParagraphFormat.Alignment =
Word.WdParagraphAlignment.wdAlignParagraphLeft;//设置当前定位书签位置插入内容的格式
//doc.ActiveWindow.Selection.TypeParagraph();//回车换行
}
//输出完毕后关闭doc对象
object IsSave =
true;
doc.Close(ref IsSave, ref missing, ref
missing);
}
catch (Exception
Ex)
{
Response.Write(Ex.ToString());
return;
}
}
//调用生成Word文档
string templateFile =
@"E:\Word模板.doc";
//生成的具有模板样式的新文件
string fileName = @"E:\生成文档名" + DateTime.Now.ToString("yyyyMMddHHmmss") +
".doc";
ExportWord(templateFile, fileName, dt);
word 文档需根据需求加下对应的书签名
在源代码程序中调试正常,但发布到服务器上时会出现无法生成新的套打文件。解决方案如下:
要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示
ASP.NET
帐户,选中所需访问权限对应的框。
解决方案:
1: 在"开始"->"运行"->dcomcnfg.exe启动"组件服务"。
2: 然后
"组件服务"->"计算机"->"我的电脑"->"DCOM配置"。
3: 在"DCOM配置"中找到“Microsoft Excel
应用程序”,右键,然后点击“属性”->“标识”->选择"启动服务".(注:这里并没有选择为“交互式用户”)
4:
在"安全"标签下:
a.
"启动和激活权限"->"自定义"->"编辑"->增加"NETWORK
SERVICE"、"ASP.NET"用户,并给它赋予"本地启动"和"本地激活"权限.
b.
"访问权限"->"自定义"->"编辑"->增加"NETWORK
SERVICE"用户,然后赋予"本地访问"权限.
c.
"配置权限"->"自定义"->"编辑"->增加"NETWORK SERVICE"用户和"guest"账号.