08
2019
01

c# word 操作系列之word实现代码

bool saveChange = false;  
 //C#操作Word表格操作
object missing = System.Reflection.Missing.Value;  
object template = (object)templateFilePath;  
object filename = (object)saveFilePath;    
object isVisible = missing;  
object readOnly = missing;  
object breakType = Word.WdBreakType.wdSectionBreakNextPage;  
object isSaveChange = (object)saveChange;  
Word.Document doc = null;  
//定义一个Word.Application 对象  
Word.Application WordApp = new Word.ApplicationClass();  
//C#操作Word表格操作之打开文档  
doc = WordApp.Documents.Open(ref template,   
ref missing,ref readOnly,ref missing,   
ref missing, ref missing, ref missing,   
ref missing, ref missing,ref missing,   
ref missing, ref isVisible, ref missing,   
ref missing, ref missing, ref missing);  
 
//C#操作Word表格操作之设置页眉文本  
 
WordApp.ActiveWindow.ActivePane.View.SeekView =  
 Word.WdSeekView.wdSeekCurrentPageHeader;  
WordApp.Selection.WholeStory();  
WordApp.Selection.TypeText( this.m_titleText );  
WordApp.ActiveWindow.ActivePane.View.SeekView =   
Word.WdSeekView.wdSeekMainDocument;  
 
//页面设置,设置页面为纵向布局,设置纸张类型为A4纸  
 
doc.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape;  
doc.PageSetup.PageWidth = WordApp.CentimetersToPoints(29.7F);  
doc.PageSetup.PageHeight = WordApp.CentimetersToPoints(21F);  
 
//C#操作Word表格操作之创建表格及设置表格和单元格属性  
 
object autoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitWindow;  
doc.Content.Tables.Add(  
WordApp.Selection.Range, totalCount + 1,   
totalField - keyCount_1, ref missing,   
ref autoFitBehavior);  
 
//C#操作Word表格操作之合并单元隔  
 
doc.Content.Tables[1].Cell(i+1,j).Select();  
object moveUnit = Word.WdUnits.wdLine;  
object moveCount = 1;  
object moveExtend = Word.WdMovementType.wdExtend;  
WordApp.Selection.MoveUp(ref moveUnit,  
 ref moveCount, ref moveExtend);  
WordApp.Selection.Cells.Merge();  
WordApp.Selection.Cells.VerticalAlignment =   
Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;  
 
doc.Content.Tables[1].Cell(i+1,1).Range.Text = “单元格内容填充”  
 
//添加表格行  
 
doc.Content.Tables[0].Rows.Add(ref beforeRow);  
 
//C#操作Word表格操作之添加表格列  
 
doc.Content.Tables[0].Columns.Add(ref beforeColumn);  
 
//文本居中  
WordApp.Selection.ParagraphFormat.Alignment =  
Word.WdParagraphAlignment.wdAlignParagraphCenter;  
WordApp.Selection.Cells.VerticalAlignment =   
Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;  
 
//C#操作Word表格操作之选中单元格文字垂直居中  
 
oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);  
 
Word.Table newTable = oDoc.Tables[1];  
object beforeRow = newTable.Rows[1];  
newTable.Rows.Add(ref beforeRow);  
 
Word.Cell cell = newTable.Cell(1, 1);  
cell.Merge(newTable.Cell(1, 2));

人生就是由欲望不满足而痛苦和满足之后无趣这两者所构成。生命没有终极意义。

08
2019
01

c# word 操作系列之在word文档中复制表格并粘帖到下一页中

在word文档中复制表格并粘帖到下一页中,代码实现如下:

object oMissing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Word._Application oWord;
            Microsoft.Office.Interop.Word._Document oDoc;
            oWord = new Microsoft.Office.Interop.Word.Application();
            //显示word文档
            oWord.Visible = true;
            //取得word文件模板
            object fileName = System.Windows.Forms.Application.StartupPath + "\\word.doc";
            //根据模板生成一个新文档,相当于另存为
            oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
                            ref oMissing, ref oMissing);

            //复制第一个表格
            oDoc.Tables[1].Select();
            oWord.Selection.Copy();

            //在这里操作表格中的文本
            oDoc.Tables[1].Cell(1, 1).Range.Text = "这是第一个表格";

            //下一页
            object mymissing = System.Reflection.Missing.Value;
            object myunit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
            oWord.Selection.EndKey(ref myunit, ref mymissing);
            object pBreak = (int)Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
            oWord.Selection.InsertBreak(ref pBreak);

            //粘贴第一个表格
            oWord.Selection.Paste();

            oDoc.Tables[2].Cell(1, 1).Range.Text = "这是第二个表格";

我们生活在比较之中,有黑暗才有光明,有恨才有爱,有坏才有好,有他人和他人所做的事我们才知道自己是谁,自己在做什么。一切都在比较中才能存在,没有丑便没有美,没有失去便没有得到。同样,我们总害怕死亡,而如果人真的可以永远活着,我想人们同样会像害怕死亡一样害怕永恒,或厌倦永恒。

08
2019
01

c# word 操作系列之Spire.Doc集合

Spire.Doc组件

08
2019
01

c# word 操作系列之NPOI集合

NPOI 第一篇 NPOI的下载、引用、基本使用


08
2019
01

c# word 操作系列之word打开和word读取

添加引用com组件

并在代码中引用命名空间

定义全局变量
//创建word
_Application app=new Word.Application();
//创建word文档
_Document doc=null;
注意word和word文档是不同的
通过文件打开对话框获取word文件所在位置,代码如下
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "word文件|*.doc";
if (dlg.ShowDialog() == DialogResult.OK)
{
   string fileName = dlg.FileName;
}
打开word,代码如下
object unknow = Type.Missing;
doc = app.Documents.Open(ref fileName,
               ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,
               ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,
               ref unknow, ref unknow, ref unknow, ref unknow, ref unknow);

读取word文档

08
2019
01

c# word 操作系列之Word转PDF基于wps

WPS最大的好处当然是免费,还有就是体积小。要实现Word到PDF的转换,当然,这个要求服务器上面必须安装的有WPS,我们调用的仍然是COM接口,然后编写如下代码:

public bool WordToPdfWithWPS(string sourcePath, string targetPath)
        {
            WPS.ApplicationClass app = new WPS.ApplicationClass();
            WPS.Document doc = null;
           try
           {
              doc = app.Documents.Open(sourcePath, true, true, false, null, null, false, "", null, 100, 0, true, true, 0, true);
              doc.ExportPdf(targetPath, "", "");
           }
           catch (Exception ex)
           {
              Console.WriteLine(ex.Message);
              return false;
           }
           finally
           {
              doc.Close();
           }
           return true;
        }
08
2019
01

c# word 操作系列之Word转PDF基于office

基于Office就是要求服务器上面要安装的有Office。我们通过C#代码来调用COM接口,实现将Word转换成PDF。下面来看一下具体实现,首先引用Microsoft.Office.Interop.Word.dll,然后编写如下代码:

public bool WordToPDF(string sourcePath, string targetPath)
        {
           bool result = false;
           Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
           Document document = null;
           try
           {
              application.Visible = false;
              document = application.Documents.Open(sourcePath);
              document.ExportAsFixedFormat(targetPath, WdExportFormat.wdExportFormatPDF);
              result = true;
           }
           catch (Exception e)
           {
              Console.WriteLine(e.Message);
              result = false;
           }
           finally
           {
              document.Close();
           }
           return result;
        }

矜高倨傲,无非客气;降服得客气下,而后正气伸。情欲意识,尽属妄心;消杀得妄心尽,而后真心现。

08
2019
01

c# word 操作系列之Word转PDF

添加引用using Microsoft.Office.Interop.Word;

08
2019
01

c# word 操作系列之word对象模型

Word文档五大对象: