C#编写的Word操作类,有换页,添加表格,文竟δdoc.doc

上传人:hw****26 文档编号:3539886 上传时间:2019-06-03 格式:DOC 页数:15 大小:326KB
下载 相关 举报
C#编写的Word操作类,有换页,添加表格,文竟δdoc.doc_第1页
第1页 / 共15页
C#编写的Word操作类,有换页,添加表格,文竟δdoc.doc_第2页
第2页 / 共15页
C#编写的Word操作类,有换页,添加表格,文竟δdoc.doc_第3页
第3页 / 共15页
C#编写的Word操作类,有换页,添加表格,文竟δdoc.doc_第4页
第4页 / 共15页
C#编写的Word操作类,有换页,添加表格,文竟δdoc.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Drawing;using Word = Microsoft.Office.Interop.Word;using Microsoft.Office.Interop.Word;using System.Windows.Forms;/* * 文件 名 : * * 声明 : * * 创建者 : 黄聪* * 创建日期 : 2009.10.8* * 修改者 : 黄聪* * 最新修改

2、日期 : 2009.10.8*/namespace Tool/* * 类名 : WordPlayer* * 声明 : * * 创建者 : 黄聪* * 创建日期 : 2009.7.15* * 修改者 : 黄聪* * 最新修改日期 : 2009.7.15*/public class WordPlayer#region - 属性 -private static Microsoft.Office.Interop.Word._Application oWord = null;private static Microsoft.Office.Interop.Word._Document odoc = nul

3、l;private static Microsoft.Office.Interop.Word._Document oDocgetif (odoc = null)odoc = oWord.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);return odoc;setif (value != null)odoc = value;private static object Nothing = System.Reflection.Missing.Value;public enum Orientation横板,竖板pub

4、lic enum Alignment左对齐,居中,右对齐#endregion#region - 添加文档 -#region - 创建并打开一个空的 word 文档进行 编辑 -public static void OpenNewWordFileToEdit()oDoc = oWord.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);#endregion#endregion#region - 创建新 Word -public static bool CreateWord(bool isVisible)tryoWo

5、rd = new Microsoft.Office.Interop.Word.Application();oWord.Visible = isVisible;return true;catch (Exception)return false;public static bool CreateWord()return CreateWord(false);#endregion#region - 打开文档 -public static bool Open(string filePath, bool isVisible)tryoWord.Visible = isVisible;object path

6、= filePath;oDoc = oWord.Documents.Open(ref path,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);return true;catch (Exception)return false;#endregion#region

7、 - 插入表格 -public static bool InsertTable(DataTable dt, bool haveBorder, double colWidths)tryobject Nothing = System.Reflection.Missing.Value;int lenght = oDoc.Characters.Count - 1;object start = lenght;object end = lenght;/表格起始坐标Microsoft.Office.Interop.Word.Range tableLocation = oDoc.Range(ref start

8、, ref end);/添加 Word 表格 Microsoft.Office.Interop.Word.Table table = oDoc.Tables.Add(tableLocation, dt.Rows.Count, dt.Columns.Count, ref Nothing, ref Nothing);if (colWidths != null)for (int i = 0; i colWidths.Length; i+)table.Columnsi + 1.Width = (float)(28.5F * colWidthsi);/设置 TABLE 的样式table.Rows.Hei

9、ghtRule = Microsoft.Office.Interop.Word.WdRowHeightRule.wdRowHeightAtLeast;table.Rows.Height = oWord.CentimetersToPoints(float.Parse(“0.8“);table.Range.Font.Size = 10.5F;table.Range.Font.Name = “宋体“;table.Range.Font.Bold = 0;table.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdPar

10、agraphAlignment.wdAlignParagraphCenter;table.Range.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;if (haveBorder = true)/设置外框样式table.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;table.Borders.InsideL

11、ineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;/样式设置结束for (int row = 0; row dt.Rows.Count; row+)for (int col = 0; col dt.Columns.Count; col+)table.Cell(row + 1, col + 1).Range.Text = dt.Rowsrowcol.ToString();return true;catch (Exception e)MessageBox.Show(e.ToString(), “错误提示“,

12、 MessageBoxButtons.OK, MessageBoxIcon.Error);return false;finallypublic static bool InsertTable(DataTable dt, bool haveBorder)return InsertTable(dt, haveBorder, null);public static bool InsertTable(DataTable dt)return InsertTable(dt, false, null);#endregion#region - 插入文本 -public static bool InsertTe

13、xt(string strText, System.Drawing.Font font, Alignment alignment, bool isAftre)tryWord.Range rng = oDoc.Content;int lenght = oDoc.Characters.Count - 1;object start = lenght;object end = lenght;rng = oDoc.Range(ref start, ref end);if (isAftre = true)strText += “rn“;rng.Text = strText;rng.Font.Name =

14、font.Name;rng.Font.Size = font.Size;if (font.Style = FontStyle.Bold) rng.Font.Bold = 1; /设置单元格中字体为粗体SetAlignment(rng, alignment);return true;catch (Exception)return false;public static bool InsertText(string strText)return InsertText(strText, new System.Drawing.Font(“宋体“, 10.5F, FontStyle.Bold), Ali

15、gnment.左对齐, false);#endregion#region - 设置对齐方式 -private static Microsoft.Office.Interop.Word.WdParagraphAlignment SetAlignment(Range rng, Alignment alignment)rng.ParagraphFormat.Alignment = SetAlignment(alignment);return SetAlignment(alignment);private static Microsoft.Office.Interop.Word.WdParagraph

16、Alignment SetAlignment(Alignment alignment)if (alignment = Alignment.居中)return Word.WdParagraphAlignment.wdAlignParagraphCenter;else if (alignment = Alignment.左对齐)return Word.WdParagraphAlignment.wdAlignParagraphLeft;else return Word.WdParagraphAlignment.wdAlignParagraphRight; #endregion#region - 页面

17、设置 -public static void SetPage(Orientation orientation, double width, double height, double topMargin, double leftMargin, double rightMargin, double bottomMargin)oDoc.PageSetup.PageWidth = oWord.CentimetersToPoints(float)width);oDoc.PageSetup.PageHeight = oWord.CentimetersToPoints(float)height);if (

18、orientation = Orientation.横板)oDoc.PageSetup.Orientation = Microsoft.Office.Interop.Word.WdOrientation.wdOrientLandscape;oDoc.PageSetup.TopMargin = (float)(topMargin * 25);/上边距 oDoc.PageSetup.LeftMargin = (float)(leftMargin * 25);/左边距 oDoc.PageSetup.RightMargin = (float)(rightMargin * 25);/右边距 oDoc.P

19、ageSetup.BottomMargin = (float)(bottomMargin * 25);/下边距public static void SetPage(Orientation orientation, double topMargin, double leftMargin, double rightMargin, double bottomMargin)SetPage(orientation, 21, 29.7, topMargin, leftMargin, rightMargin, bottomMargin);public static void SetPage(double t

20、opMargin, double leftMargin, double rightMargin, double bottomMargin)SetPage(Orientation.竖板, 21, 29.7, topMargin, leftMargin, rightMargin, bottomMargin);#endregion#region - 插入分页符 -public static void InsertBreak()Word.Paragraph para;para = oDoc.Content.Paragraphs.Add(ref Nothing);object pBreak = (int

21、)WdBreakType.wdSectionBreakNextPage;para.Range.InsertBreak(ref pBreak);#endregion#region - 关闭当前文档 -public static bool CloseDocument()tryobject doNotSaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges;oDoc.Close(ref doNotSaveChanges, ref Nothing, ref Nothing);oDoc = null;return true;catch (Exception)return false;#endregion#region - 关闭程序 -public static bool Quit()tryobject saveOption = Word.WdSaveOptions.wdDoNotSaveChanges;oWord.Quit(ref saveOption, ref Nothing, ref Nothing);return true;catch (Exception)return false;#endregion#region - 保存文档 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。