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中呢。。 

解决方案 »

  1.   

    图片保存到word 只能是将图片先转换成base64编码的文本 在保存 这是一个将图片转换成base64编码文本的一个方法。。
     private void ImgToBase64String(string Imagefilename)
            {
                try
                {
                    Bitmap bmp = new Bitmap(Imagefilename);
                    this.pictureBox1.Image = bmp;
                    FileStream fs = new FileStream(Imagefilename + ".txt", FileMode.Create);
                    StreamWriter sw = new StreamWriter(fs);                MemoryStream ms = new MemoryStream();
                    bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                    byte[] arr = new byte[ms.Length];
                    ms.Position = 0;
                    ms.Read(arr, 0, (int)ms.Length);
                    ms.Close();
                    String strbaser64 = Convert.ToBase64String(arr);
                    sw.Write(strbaser64);                sw.Close();
                    fs.Close();
                    MessageBox.Show("转换成功!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("ImgToBase64String 转换失败/nException:" + ex.Message);
                }
            }
      

  2.   

    src="data:image/jpg;base64,转换后的字符串"   这样写吗。。
      没有用啊。   
      

  3.   

    你将图片路径转成了针对服务器文件系统的绝对路径,这样将word下载后引用的图片肯定不存在了,你可以将针对文件系统的图片路径改为url绝对路径试试,当然这样的坏处是查看word文档时必须连网才能看到图片。
      

  4.   

     <img width=214 height=717
    src="http://t1.baidu.com/it/u=1354549538,1627489155&fm=25&gp=0.jpg" align=left hspace=12 v:shapes="_x0000_s1036"/>是这样写吗。。 可word中显示不出来。。  是个X
      

  5.   

    1 新建一个页面 什么都不要写 就插入一张图片
    2 将页面保存为单个网页文件,
    3 修改它的后缀为doc
    4 如果word打开是一个图片 再用txt打开word 你会发现有一段很长的编码  那就是图片的base64
    5 你在用我给你的那个方法生成另一个图片的base64 把word中的替换,保存
    6 打开word你会发现图片变了