62,041
社区成员
发帖
与我相关
我的任务
分享
object path; //文件路径变量
Application wordApp; //Word应用程序变量
Document wordDoc; //Word文档变量
string strWordFile = HttpContext.Current.Server.MapPath(WordFilePath);
if (!Directory.Exists(strWordFile))
Directory.CreateDirectory(strWordFile);
Thread.Sleep(1000);//延迟1秒
path = strWordFile + strTitle + ".doc"; //路径
wordApp = new ApplicationClass(); //初始化
//如果已存在,则删除
if (File.Exists((string)path))
{
File.Delete((string)path);
}
//由于使用的是COM库,因此有许多变量需要用Missing.Value代替
Object Nothing = Missing.Value;
wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//WdSaveFormat为Word文档的保存格式
int intIndex = strContent.IndexOf("<div");//根据<div>判断是否为txt文本
string strImagePath = ""; //图片地址
string picUrl = "";//图片绝对路径
foreach (Match match in Regex.Matches(strContent, @"(?<=src=['""])[^'""]*(?=['""])", RegexOptions.IgnoreCase))
{
strImagePath = HttpContext.Current.Server.MapPath(UploadFilePath);
strImagePath = strImagePath + match.Value.Replace("/","\\"); //strAPath.Substring(strPath.Length+1, strAPath.Length - strPath.Length-1);
strContent = strContent.Replace(match.Value, strImagePath);
}
picUrl = strImagePath;
object format = intIndex > 0 ? WdSaveFormat.wdFormatDOSTextLineBreaks : WdSaveFormat.wdFormatDocument;
//文件内容
wordDoc.Paragraphs.Last.Range.Text = intIndex > 0 ? "<body>" + strContent + "</body>" : strContent;
//将wordDoc文档对象的内容保存为DOC文档
wordDoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
//关闭wordDoc文档对象
wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
//关闭wordApp组件对象
wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
可我数据表中有多个图片如何生成到word呢。 难道一个个插入??