您的位置:首页 > 编程语言 > C#

C#操作Word表格的实例

2010-03-07 09:35 489 查看
using System;  
 using System.Collections;  
 using System.ComponentModel;  
 using System.Data;  
 using System.Drawing;  
 using System.Web;  
 using System.Web.SessionState;  
 using System.Web.UI;  
 using System.Web.UI.WebControls;  
 using System.Web.UI.HtmlControls;  
 using System.Configuration;  
 using System.IO;  
 using System.Reflection;  
 using System.Runtime.InteropServices ;  
 using System.Threading;  
  //C操作Word表格
 public void MakeMyTable(DataTable DT,string strFilePath)  
   {  
      
    string strEnd   = this.txtEnd.Text.Trim().ToString();  
    string strStart = this.txtStart.Text.Trim().ToString();  
 //生成文档分页中的起始和终止页  
    string strSign = "("+strStart + "-" + strEnd + ")";  
  
    //杀掉所有word进程以保证速度  
    //KillWordProcess();  
  
    object Nothing = System.Reflection.Missing.Value;   
    object missing = System.Reflection.Missing.Value;   
    object filename= strFilePath;    
  
    Word.Application wordApp=new Word.ApplicationClass();   
    Word.Document wordDoc=wordApp.Documents.Add(  
 ref Nothing,ref Nothing,ref Nothing,ref Nothing);   
  //C操作Word表格
    try 
    {  
     //生成过程中屏蔽返回按扭,不允许中途停止  
     Button2.Enabled = false;  
     region 生成文档  
     //设置文档宽度  
     wordApp.Selection.PageSetup.LeftMargin  =  
  wordApp.CentimetersToPoints(float.Parse("2"));  
     wordApp.ActiveWindow.ActivePane.HorizontalPercentScrolled = 11 ;  
     wordApp.Selection.PageSetup.RightMargin =  
  wordApp.CentimetersToPoints(float.Parse("2"));  
  
     Object start = Type.Missing;  
     Object end = Type.Missing;  
     Object unit = Type.Missing;  
     Object count = Type.Missing;  
     wordDoc.Range(ref start, ref end).  
 Delete(ref unit, ref count);  
  
  //C操作Word表格
     object rng = Type.Missing;  
     string strInfo = this.txtNameCh.  
 Text.ToString()+"明细表"+strSign+"/r/n";  
     start = 0;  
     end = 0;  
     wordDoc.Range(ref start, ref end).  
 InsertBefore(strInfo);  
     wordDoc.Range(ref start, ref end).  
 Font.Name = "Verdana";   
     wordDoc.Range(ref start, ref end).  
 Font.Size = 20;  
     wordDoc.Range(ref start, ref end).  
 ParagraphFormat.Alignment = Word.WdParagraphAlignment.  
 wdAlignParagraphCenter;  
  
     start = 8;  
     end = strInfo.Length;  
     wordDoc.Range(ref start, ref end).  
 InsertParagraphAfter();//插入回车  
  
     if(DT.Rows.Count>0)  
     {  
 //C操作Word表格之存在数据项  
 //添加一个表格  
 object missingValue = Type.Missing;   
 object location = strInfo.Length;   
 //注:若location超过已有字符的长度将会出错。一定要比"明细表"串多一个字符  
 Word.Range rng2 = wordDoc.Range(ref location, ref location);  
  
 wordDoc.Tables.Add(rng2, 13, 6, ref missingValue, ref missingValue);   
 wordDoc.Tables.Item(1).Rows.HeightRule =   
 Word.WdRowHeightRule.wdRowHeightAtLeast;  
 wordDoc.Tables.Item(1).Rows.Height = wordApp.  
 CentimetersToPoints(float.Parse("0.8"));  
 wordDoc.Tables.Item(1).Range.Font.Size = 10;  
 wordDoc.Tables.Item(1).Range.Font.Name = "宋体";  
 wordDoc.Tables.Item(1).Range.ParagraphFormat.Alignment =  
  Word.WdParagraphAlignment.wdAlignParagraphCenter;  
 wordDoc.Tables.Item(1).Range.Cells.VerticalAlignment =  
  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;  
 //C操作Word表格之设置表格样式  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderLeft).LineStyle =  
  Word.WdLineStyle.wdLineStyleSingle;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderLeft).LineWidth =  
  Word.WdLineWidth.wdLineWidth050pt;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderLeft).Color =   
 Word.WdColor.wdColorAutomatic;  
  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderTop).LineStyle =   
 Word.WdLineStyle.wdLineStyleSingle;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderTop).LineWidth =   
 Word.WdLineWidth.wdLineWidth050pt;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderTop).Color =  
  Word.WdColor.wdColorAutomatic;  
  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderBottom).LineStyle =  
  Word.WdLineStyle.wdLineStyleSingle;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderBottom).LineWidth =  
  Word.WdLineWidth.wdLineWidth050pt;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderBottom).Color =  
  Word.WdColor.wdColorAutomatic;  
  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderHorizontal).LineStyle =   
 Word.WdLineStyle.wdLineStyleSingle;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderHorizontal).LineWidth =   
 Word.WdLineWidth.wdLineWidth050pt;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderHorizontal).Color =   
 Word.WdColor.wdColorAutomatic;  
  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderVertical).LineStyle =   
 Word.WdLineStyle.wdLineStyleSingle;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderVertical).LineWidth =   
 Word.WdLineWidth.wdLineWidth050pt;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderVertical).Color =   
 Word.WdColor.wdColorAutomatic;  
  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderRight).LineStyle =   
 Word.WdLineStyle.wdLineStyleSingle;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderRight).LineWidth =   
 Word.WdLineWidth.wdLineWidth050pt;  
 wordDoc.Tables.Item(1).Borders.  
 Item(Word.WdBorderType.wdBorderRight).Color =   
 Word.WdColor.wdColorAutomatic;  
  //C操作Word表格
 //wordDoc.Tables.Item(k).Borders.  
 Item(Word.WdBorderType.wdBorderDiagonalDown).  
 LineStyle = Word.WdLineStyle.wdLineStyleSingle;  
 //wordDoc.Tables.Item(k).Borders.  
 Item(Word.WdBorderType.wdBorderDiagonalDown).  
 LineWidth = Word.WdLineWidth.wdLineWidth050pt;  
 //wordDoc.Tables.Item(k).Borders.  
 Item(Word.WdBorderType.wdBorderDiagonalDown).  
 Color = Word.WdColor.wdColorAutomatic;  
 //第一行显示  
 wordDoc.Tables.Item(1).Cell(1,2).  
 Merge(wordDoc.Tables.Item(1).Cell(1,3));  
 wordDoc.Tables.Item(1).Cell(1,4).  
 Merge(wordDoc.Tables.Item(1).Cell(1,5));  
  
 //第二行显示  
 wordDoc.Tables.Item(1).Cell(2,5).  
 Merge(wordDoc.Tables.Item(1).Cell(2,6));  
 wordDoc.Tables.Item(1).Cell(1,4).  
 Merge(wordDoc.Tables.Item(1).Cell(2,5));  
  
 region 插入数据行  
 wordDoc.Tables.Item(1).Cell(1, 1).Range.Text = "cell11";   
 //wordDoc.Tables.Item(k).Cell(1, 2).Range.Text =  
  DT.Rows[i]["cell11"].ToString();  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(1, 3).Range.Text = "cell13";   
 //wordDoc.Tables.Item(k).Cell(1, 4).Range.Text =  
  DT.Rows[i]["cell13"].ToString();  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(2, 1).Range.Text = "cell21";   
 //wordDoc.Tables.Item(k).Cell(2, 2).Range.Text =   
 DT.Rows[i]["cell21"].ToString();  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(2, 3).Range.Text = "cell23";   
 //wordDoc.Tables.Item(k).Cell(2, 4).Range.Text =  
  DT.Rows[i]["cell23"].ToString();  
  
 endregion  
  //C操作Word表格
 region 第三行显示  
 wordDoc.Tables.Item(1).Cell(3,2).  
 Merge(wordDoc.Tables.Item(1).Cell(3,3));  
 wordDoc.Tables.Item(1).Cell(3,2).  
 Merge(wordDoc.Tables.Item(1).Cell(3,3));  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(3, 1).Range.Text = "cell31";   
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(3, 3).Range.Text = "cell33";   
  
 endregion  
  
 region 第五行显示  
 wordDoc.Tables.Item(1).Cell(5,2).  
 Merge(wordDoc.Tables.Item(1).Cell(5,3));  
 wordDoc.Tables.Item(1).Cell(5,2).  
 Merge(wordDoc.Tables.Item(1).Cell(5,3));  
 wordDoc.Tables.Item(1).Cell(5,2).  
 Merge(wordDoc.Tables.Item(1).Cell(5,3));  
 wordDoc.Tables.Item(1).Cell(5,2).  
 Merge(wordDoc.Tables.Item(1).Cell(5,3));  
 endregion  
  
 region  第四行显示  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(4, 1).Range.Text = "cell41";  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(4, 3).Range.Text = "cell43";   
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(4, 5).Range.Text = "cell45";   
  
 endregion  
  //C操作Word表格
 region 第六行显示  
 wordDoc.Tables.Item(1).Cell(6,2).  
 Merge(wordDoc.Tables.Item(1).Cell(6,3));  
 wordDoc.Tables.Item(1).Cell(6,2).  
 Merge(wordDoc.Tables.Item(1).Cell(6,3));  
 wordDoc.Tables.Item(1).Cell(6,2).  
 Merge(wordDoc.Tables.Item(1).Cell(6,3));  
 wordDoc.Tables.Item(1).Cell(6,2).  
 Merge(wordDoc.Tables.Item(1).Cell(6,3));  
  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(5, 1).  
 Range.Text = "cell51";  
  
 wordDoc.Tables.Item(1).Cell(5, 2).  
 Range.ParagraphFormat.Alignment =   
 Word.WdParagraphAlignment.wdAlignParagraphLeft;  
  
    
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(6, 1).Range.Text = "cdll61";  
  
 wordDoc.Tables.Item(1).Cell(6, 2).  
 Range.ParagraphFormat.Alignment =   
 Word.WdParagraphAlignment.wdAlignParagraphLeft;  
 endregion  
  
  
 region 第七行显示  
 wordDoc.Tables.Item(1).Cell(7,2).  
 Merge(wordDoc.Tables.Item(1).Cell(7,3));  
 wordDoc.Tables.Item(1).Cell(7,2).  
 Merge(wordDoc.Tables.Item(1).Cell(7,3));  
 wordDoc.Tables.Item(1).Cell(7,2).  
 Merge(wordDoc.Tables.Item(1).Cell(7,3));  
 wordDoc.Tables.Item(1).Cell(7,2).  
 Merge(wordDoc.Tables.Item(1).Cell(7,3));  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(7, 1).Range.Text = "cell71";  
  
 wordDoc.Tables.Item(1).Cell(7, 2).Range.  
 ParagraphFormat.Alignment = Word.WdParagraphAlignment.  
 wdAlignParagraphLeft;  
 endregion  
  
  
 region 第八行显示  
 wordDoc.Tables.Item(1).Cell(8,1).  
 Merge(wordDoc.Tables.Item(1).Cell(8,2));  
 wordDoc.Tables.Item(1).Cell(8,2).  
 Merge(wordDoc.Tables.Item(1).Cell(8,3));  
 wordDoc.Tables.Item(1).Cell(8,2).  
 Merge(wordDoc.Tables.Item(1).Cell(8,3));  
 wordDoc.Tables.Item(1).Cell(8,2).  
 Merge(wordDoc.Tables.Item(1).Cell(8,3));  
  
  
 endregion  
  
  
 region 第九行显示  
 wordDoc.Tables.Item(1).Cell(9,1).Merge(wordDoc.Tables.Item(1).Cell(9,2));  
 wordDoc.Tables.Item(1).Cell(9,3).Merge(wordDoc.Tables.Item(1).Cell(9,4));  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(9, 1).Range.Text = "cell91";  
 //wordDoc.Tables.Item(k).Cell(9, 2).Range.Text =   
  (DT.Rows[i]["cell91"].ToString()=="1"?"有":"无");  
  
    //C操作Word表格
  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(9, 3).Range.Text = "cell93";  
      
 endregion  
  
  
 region 第十行显示  
 wordDoc.Tables.Item(1).Cell(10,1).Merge(wordDoc.Tables.Item(1).Cell(10,2));  
 wordDoc.Tables.Item(1).Cell(10,3).Merge(wordDoc.Tables.Item(1).Cell(10,4));  
 ////******************  
 wordDoc.Tables.Item(1).Cell(10, 1).Range.Text = "cell101";  
  
  
    
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(10, 3).Range.Text = "cdll103";  
 //wordDoc.Tables.Item(k).Cell(10, 4).Range.Text =  
  (DT.Rows[i]["Label"].ToString()=="1"?"有":"无");  
 endregion  
  
  
 region 第十一行显示  
 wordDoc.Tables.Item(1).Cell(11,1).  
 Merge(wordDoc.Tables.Item(1).Cell(11,2));  
 wordDoc.Tables.Item(1).Cell(11,3).  
 Merge(wordDoc.Tables.Item(1).Cell(11,4));  
 ////******************  
 wordDoc.Tables.Item(1).Cell(11, 1).Range.Text = "cell111";  
  
  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(11, 3).Range.Text = "cell113";  
      
 endregion  
  
  
 region 第十二行显示  
 wordDoc.Tables.Item(1).Cell(12,1).  
 Merge(wordDoc.Tables.Item(1).Cell(12,2));  
 wordDoc.Tables.Item(1).Cell(12,3).  
 Merge(wordDoc.Tables.Item(1).Cell(12,4));  
 ////******************  
 wordDoc.Tables.Item(1).Cell(12, 1).Range.Text = "cell121";  
  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(12, 3).Range.Text = "cell123";  
  
 endregion  
  
  
 region 第十三行显示  
 wordDoc.Tables.Item(1).Cell(13,1).  
 Merge(wordDoc.Tables.Item(1).Cell(13,2));  
 wordDoc.Tables.Item(1).Cell(13,3).  
 Merge(wordDoc.Tables.Item(1).Cell(13,4));  
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(13, 1).Range.Text = "cell131";  
  //C操作Word表格
  
 ////******************  
 wordDoc.Tables.Item(1).Cell(13, 3).Range.Text = "cell133";  
     
 endregion  
  
 wordDoc.Tables.Item(1).Select();  
 wordApp.Application.Selection.Cut();  
  
 //重新成声所有表  
  
      
  
  
 for(int i = 0; i<=DT.Rows.Count-1;i++)  
 {  
  wordApp.Application.Selection.Paste();  
  int k = i+1;  
  region    更新数据  
  
  
  region 插入数据行  
    
  wordDoc.Tables.Item(k).Cell(1, 2).Range.Text =   
 DT.Rows[i]["1"].ToString();  
  
    
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(1, 4).Range.Text =   
 DT.Rows[i]["2"].ToString();  
  
    
  
  ////******************  
     
  wordDoc.Tables.Item(k).Cell(2, 2).Range.Text =   
 DT.Rows[i]["3"].ToString();  
  
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(2, 4).Range.Text =   
 DT.Rows[i]["4"].ToString();  
  
  endregion  
  //C操作Word表格
  
  region 第三行显示  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(3, 2).Range.Text =  
  DT.Rows[i]["5"].ToString();  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(3, 4).Range.Text =   
 DT.Rows[i]["6"].ToString();  
  
  endregion  
  
  
  region 第五行显示  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(5, 2).Range.Text = DT.Rows[i]["7"].ToString();  
  wordDoc.Tables.Item(k).Cell(5, 2).Range.ParagraphFormat  
 .Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;  
  endregion  
  
  region  第四行显示  
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(4, 2).Range.Text = DT.Rows[i]["8"].ToString();  
  
    
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(4, 4).Range.Text = DT.Rows[i]["9"].ToString();  
  
    
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(4, 6).Range.Text = DT.Rows[i]["0"].ToString();  
  endregion  
  
  
  region 第六行显示  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(6, 2).Range.Text =   
 DT.Rows[i]["11"].ToString();  
  wordDoc.Tables.Item(k).Cell(6, 2).Range.ParagraphFormat  
 .Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;  
  endregion  
  
  //C操作Word表格
  region 第七行显示  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(7, 2).Range.  
 Text = DT.Rows[i]["12"].ToString();  
  wordDoc.Tables.Item(k).Cell(7, 2).Range.  
 ParagraphFormat.Alignment = Word.WdParagraphAlignment.  
 wdAlignParagraphLeft;  
  endregion  
  
  
  region 第八行显示  
  ////******************  
    
  string strTechlevel = DT.Rows[i]["Level"].ToString();  
  string returnTechlevel = "";  
  switch(strTechlevel)  
  {  
   case "1":  
    returnTechlevel = "Level1";  
    break;  
   case "2":  
    returnTechlevel = "Level2";  
    break;  
   case "3":  
    returnTechlevel = "Level3";  
    break;  
   case "0":  
    returnTechlevel = "Level4";  
    break;  
   default:  
    returnTechlevel = "Level5";  
    break;  
  }  
  wordDoc.Tables.Item(k).Cell(8, 2).  
 Range.Text = returnTechlevel;  
  
  endregion  
  
  
  region 第九行显示  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(9, 2).Range.Text =   
  (DT.Rows[i]["14"].ToString()=="1"?"有":"无");  
  
  //C操作Word表格  
  
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(9, 4).Range.Text =   
 (DT.Rows[i]["15"].ToString()=="1"?"是":"否");  
  endregion  
  
  
  region 第十行显示  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(10, 2).Range.Text =    
 (DT.Rows[i]["16"].ToString()=="1"?"有":"无");  
  
    
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(10, 4).Range.Text =   
 (DT.Rows[i]["17"].ToString()=="1"?"有":"无");  
  endregion  
  
  
  region 第十一行显示  
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(11, 2).Range.Text =    
 (DT.Rows[i]["18"].ToString()=="1"?"是":"否");  
  
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(11, 4).Range.Text =   
 (DT.Rows[i]["19"].ToString()=="1"?"是":"否");  
  endregion  
  
  
  region 第十二行显示  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(12, 2).Range.Text =    
 (DT.Rows[i]["20"].ToString()=="1"?"是":"否");  
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(12, 4).Range.Text =    
 (DT.Rows[i]["21"].ToString()=="1"?"是":"否");  
  endregion  
  
  
  region 第十三行显示  
  
    
  wordDoc.Tables.Item(k).Cell(13, 2).Range.Text =    
 (DT.Rows[i]["22"].ToString()=="1"?"是":"否");  
  
  ////******************  
    
  wordDoc.Tables.Item(k).Cell(13, 4).Range.Text =    
 (DT.Rows[i]["23"].ToString()=="1"?"是":"否");  
  endregion  
  
  endregion  
  
  //插入分页  
  if(i!=DT.Rows.Count-1)  
  {  
   object mymissing = System.Reflection.Missing.Value;  
   object myunit = Word.WdUnits.wdStory;  
   wordApp.Selection.EndKey(ref myunit,ref mymissing);  
  
   object pBreak= (int)Word.WdBreakType.wdPageBreak;  
   wordApp.Selection.InsertBreak( ref pBreak );  
  }  
 }  
       
  
 wordDoc.SaveAs(ref filename,   
 ref missing,ref missing, ref missing,  
 ref missing,ref missing,ref missing,  
 ref missing,ref missing,ref missing, ref missing);  
      
      //C操作Word表格
 wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);   
 wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);   
  
 if ( wordDoc != null )  
 {  
  System.Runtime.InteropServices.Marshal.  
 ReleaseComObject(wordDoc);  
  wordDoc = null;  
 }  
 if ( wordApp != null )  
 {  
  System.Runtime.InteropServices.Marshal.  
 ReleaseComObject(wordApp);  
  wordApp = null;  
 }  
 GC.Collect();  
 //KillWordProcess();  
 string strUrl = "MakeWordFile.aspx?username=" 
 +Request.QueryString["username"].ToString();  
 utility.ShowPopMessage("文档生成完毕!",strUrl);  
     }  
     else 
     {  
 utility.ShowPopMessage("无任何数据!");  
     }  
     endregion  
  
      
  
    }  
    catch 
    {  
     wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);   
     wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);   
     if ( wordDoc != null )  
     {  
 System.Runtime.InteropServices.Marshal.  
 ReleaseComObject(wordDoc);  
 wordDoc = null;  
     }  
     if ( wordApp != null )  
     {  
 System.Runtime.InteropServices.Marshal.  
 ReleaseComObject(wordApp);  
 wordApp = null;  
     }  
     GC.Collect();  
     utility.ShowPopMessage("文档生成失败!");  
  
    }  
   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: