62,236
社区成员




/// <summary>
/// 读取Word模板的XML文件,替换标签保存Word
/// </summary>
/// <param name="sSourceDocUrl">模板地址</param>
/// <param name="sSaveDocUrl">保存到路径</param>
/// <param name="list">标签对应文本</param>
/// <param name="sErrMsg">返回信息</param>
/// <returns></returns>
public bool DoWordXmlANDSave(string sSourceDocUrl,string sSaveDocUrl,List<MarkWithText> list,ref string sErrMsg)
{
return WirteToDOC(ReplaceMarkToText(ReadToString(sSourceDocUrl), list), sSaveDocUrl, ref sErrMsg);
}
private string ReadToString(string sFileFullUrl)
{
StreamReader sReader = new StreamReader(sFileFullUrl);
return sReader.ReadToEnd();
}
private string ReplaceMarkToText(string sSourceText,List<MarkWithText> list)
{
if (string.IsNullOrEmpty(sSourceText))
return "";
if (list.Count == 0)
return sSourceText;
string sReturnText = sSourceText;
foreach (MarkWithText mt in list)
{
sReturnText = sReturnText.Replace(mt.BookMark, mt.ReplaceValue);
}
return sReturnText;
}
private bool WirteToDOC(string sSourceText,string sFileFullUrl,ref string sErrMsg)
{
if (!sFileFullUrl.ToUpper().EndsWith(".DOC"))
sFileFullUrl = sFileFullUrl + ".doc";
try
{
File.WriteAllText(sFileFullUrl, sSourceText);
return true;
}
catch (Exception ex)
{
sErrMsg += "|Function:WirteToDOC ErrMsg:" + ex.Message;
return false;
}
}