DataGridView中选中的数据复制到Word
/// <summary> /// DataGridView中选中的数据复制到Word /// </summary> /// <param name="ExportDgv">DataGridView</param> /// <param name="WordTitle">word标题</param> /// <returns></returns> public bool OutputFileToWord(DataGridView ExportDgv, string WordTitle) { try { if (ExportDgv == null) { return false; } if (ExportDgv.Columns.Count == 0 || ExportDgv.Rows.Count == 0) { return false; } //复制数据到Clipboard int I = ExportDgv.GetCellCount(DataGridViewElementStates.Selected); if (I > 0) { //为了解决极少部分机器中文字符乱码问题 //一般为"区域选项,字符集设置不一样的问题 //Clipboard.SetDataObject(ExportGrid.GetClipboardContent()); Clipboard.SetText(ExportDgv.GetClipboardContent().GetData(DataFormats.Text).ToString()); } else { return false; } //创建Word对象 object iMissing = System.Type.Missing; Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application(); if (wordApp==null) { return false; } Microsoft.Office.Interop.Word.Document wordDoc = wordApp.Documents.Add(ref iMissing,ref iMissing,ref iMissing,ref iMissing); //粘贴数据 wordDoc.ActiveWindow.Selection.PasteSpecial(ref iMissing, ref iMissing, ref iMissing, ref iMissing, ref iMissing, ref iMissing, ref iMissing); wordApp.Caption = WordTitle; wordApp.Visible = true;//显示粘贴的数据 return true; } catch { return false; } }