C#生成Word文檔代碼示例。本站提示廣大學習愛好者:(C#生成Word文檔代碼示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#生成Word文檔代碼示例正文
public bool CreateWordFile(string _filename, "數據List或許你C#要寫的數據") { #region 開端生成Word try { string strtitle = "義務導出"; object oEndOfDoc = "//endofdoc"; Object Nothing = System.Reflection.Missing.Value; Object filename = _filename; //創立Word文檔 Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass(); Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing); //設置頁眉 WordApp.ActiveWindow.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdOutlineView; WordApp.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekPrimaryHeader; WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("WPFOA義務導出"); WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;//設置右對齊 WordApp.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;//跳出頁眉設置 //義務導出------名字 Word.Paragraph oPara1; oPara1 = WordDoc.Content.Paragraphs.Add(ref Nothing); oPara1.Range.Text = strtitle; oPara1.Range.Font.Bold = 1; oPara1.Range.Font.Name = "宋體"; oPara1.Range.Font.Size = 20; oPara1.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; oPara1.Format.SpaceAfter = 5; //24 pt spacing after paragraph. oPara1.Range.InsertParagraphAfter(); #region 輪回每一個表 foreach (var v in lst_task) { #region 輪回每個列,發生一行數據 //描寫信息 Word.Paragraph oPara3; object oRng = WordDoc.Bookmarks.get_Item(ref oEndOfDoc).Range; oPara3 = WordDoc.Content.Paragraphs.Add(ref oRng); oPara3.Range.Text = ""; oPara3.Range.Font.Bold = 0; oPara3.Range.Font.Name = "宋體"; oPara3.Range.Font.Size = 9; oPara3.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; oPara3.Format.SpaceBefore = 1; oPara3.Format.SpaceAfter = 1; oPara3.Range.InsertParagraphAfter(); //拔出表格 Word.Table newTable; Word.Range wrdRng = WordDoc.Bookmarks.get_Item(ref oEndOfDoc).Range; newTable = WordDoc.Tables.Add(wrdRng, 5, 4, ref Nothing, ref Nothing); newTable.Columns[1].Width = 60; newTable.Columns[2].Width = 145; newTable.Columns[3].Width = 80; newTable.Columns[4].Width = 145; newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; //填充表格內容 newTable.Cell(1, 1).Range.Text = "項目稱號"; newTable.Cell(1, 2).Range.Text = "1"; newTable.Cell(1, 3).Range.Text = "模塊稱號"; newTable.Cell(1, 4).Range.Text = "2"; newTable.Cell(2, 1).Range.Text = "擔任人名"; newTable.Cell(2, 2).Range.Text = "3"; newTable.Cell(2, 3).Range.Text = "狀況"; newTable.Cell(2, 4).Range.Text = "4"; newTable.Cell(3, 1).Range.Text = "宣布時光"; newTable.Cell(3, 2).Range.Text = "5"; newTable.Cell(3, 3).Range.Text = "請求完成時光"; newTable.Cell(3, 4).Range.Text = "6"; newTable.Cell(4, 1).Range.Text = "完成時光"; newTable.Cell(4, 2).Range.Text = "7"; newTable.Cell(4, 3).Range.Text = "分派人"; newTable.Cell(4, 4).Range.Text = "8"; newTable.Cell(5, 1).Range.Text = "義務描寫"; newTable.Cell(5, 2).Merge(newTable.Cell(5, 4)); newTable.Cell(5, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft; newTable.Cell(5, 2).Range.Text = "12313213123213"; #endregion } WordDoc.SaveAs(ref filename, 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, ref Nothing); WordDoc.Close(ref Nothing, ref Nothing, ref Nothing); WordApp.Quit(ref Nothing, ref Nothing, ref Nothing); #endregion //封閉WinWord過程 System.Diagnostics.Process[] MyProcess = System.Diagnostics.Process.GetProcessesByName("WINWORD"); MyProcess[0].Kill(); return true; } catch { System.Diagnostics.Process[] MyProcess = System.Diagnostics.Process.GetProcessesByName("WINWORD"); MyProcess[0].Kill(); return false; } #endregion }