Ä¿±ê£ºÊ¹ÓÃwordµÄMailMerge¹¦ÄÜ£¬Êý¾ÝÔ´ÊÇExcelÖеÄÊý¾Ý¡£ÕâЩ×ÊÁÏÔÚÍøÉϺÜÉÙ£¬Ö»ÄÜ×Ô¼ºÂýÂý²âÊÔÁË¡£
¹ØÓÚWordµÄMailMerge¹¦ÄÜ£º
wordÌṩÓʼþµÄÄ£°å£¬Äܹ»Ñ¡Ôñ¸÷ÖÖÊý¾ÝÔ´£¬±ÈÈçÊý¾Ý¿â£¬excelµÈ£¬È»ºóȺ·¢£¨»ò´òÓ¡¡¢Áí´æÎĵµ£©Óʼþ¡£
ΪÁËʵÏÖÕâ¸ö¹¦ÄÜ£¬ÎҵijÌʽҪÄÜ×öµÄÊÇ
1£º´ò¿ªwordÎĵµ¶ÔÏó
2£ºÅäÖÃMailMergeÊý¾ÝÔ´£ºÖ¸¶¨Excel£¬Ö¸¶¨²éѯÓï¾ä£¬Ö¸¶¨Áª½ÓµÄÁÐs
3£º¹Ø±Õ±£´æ
¹ØÓÚÒýÓãº
using Word = Microsoft.Office.Interop.Word;
using System.Reflection;
using System.Diagnostics;
using System.IO;
¹ØÓÚ±äÁ¿£ºwordµÄcom¶ÔÏóÐèÒª´«ÈëµÄ²ÎÊý¶¨Òå
Word.Application WordApp = new Microsoft.Office.Interop.Word.Application();
object missing = System.Reflection.Missing.Value;
object falseValue = false;
object trueValue = true;
¹ØÓÚ´¦Àí
ÐèҪעÒâµÄÊÇ
1£º´ò¿ªwordµÄ·½Ê½
2£ºqueryµÄд·¨¡£ÀàËÆÓÚsqlÒ»°ã£¬±È½ÏºÃÍæ¡£
3£ºÅäÖÃÁУ¬¡£ÅäÖÃÖ®ºó£¬ÔÚwordÖÐÄܹ»¿´¼ûÕâЩÁС£
4£º¹Ø±ÕwordÖ®ºó£¬»¹µÃÔÙcopyÒ»´Îexcel¡£Ö±½ÓÉú³ÉÖ®ºóµÄexcelÎĵµsize±©ÕÇ£¬Îĵµ»¹´ò²»¿ª£¬ËùÒÔ¸²¸ÇÒ»±éÁËÖ®¡£ÔÒò²»Ïê¡£
private void button1_Click(object sender, EventArgs e)
{
object fileName = CopyTemplateDoc();//copy doc in
Word.Document doc = WordApp.Documents.Open(ref fileName, ref missing, ref falseValue, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref trueValue, ref missing, ref missing, ref missing);
object linkTo = CopyExcelData();//copy excel data
object query = "SELECT * FROM `Sheet1$`";//data from sheet1
object header = "Name,Category,Address,Content";//filed list
try
{
doc.MailMerge.CreateDataSource(ref linkTo, ref missing, ref missing, ref header, ref falseValue, ref query, ref missing, ref missing, ref trueValue);
doc.MailMerge.Fields.Add(WordApp.Selection.Range, "Name");//add one filed to test
MessageBox.Show("success");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
doc.Save();//save word
CloseApp();//close word app
CopyExcelData();//copy data again,*******************
}
}
¹ØÓڹرÕword¶ÔÏó
public void CloseApp()
{
WordApp.Documents.Close(ref trueValue, ref missing, ref missing);
WordApp.Quit(ref trueValue, ref missing, ref missing);
System.Runtime.InteropServices.Marshal.ReleaseComObject(WordApp);
GC.Collect();
//this.KillExcelProcess();
}
¸üÓÐÁ½¸ö¹¤¾ßº¯Êý²»ÔÙ׸Êö£¬ÓÃÀ´copyÎĵµ²¢ÇÒ·µ»ØÎĵµÃûprivate string CopyExcelData()£»ºÍprivate string CopyTemplateDoc()¡£
²âÊÔ£¬¸ã¶¨
ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!




