09
2019
01

c# word 操作系列之Open 打开word文档

Open 打开word文档

09
2019
01

c# word 操作系列之打开,关闭与新建文档

Add           新建word文档

09
2019
01

c# word 操作系列之Word书签使用

public void AddDocModel()
        {
 
            killWinWordProcess();
            wordApp = new ApplicationClass();
            wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone;
            wordApp.Visible = false;
            object missing = System.Reflection.Missing.Value;
            object templateName = Application.StartupPath + @"\Report";//最终的word文档需要写入的位置
            object ModelName = Application.StartupPath + @"\Report\ReportModel_Stand.doc";//word模板的位置
            object count = 1;
            object WdLine = Microsoft.Office.Interop.Word.WdUnits.wdLine;//换一行;
            wordDoc = wordApp.Documents.Open(ref ModelName, ref missing, ref missing,
               ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
               ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
               ref missing);//打开word模板
 
            //在书签处插入文字
            object oStart = "PatName";//word中的书签名 
            Range range = wordDoc.Bookmarks.get_Item(ref oStart).Range;//表格插入位置 
            range.Text = "这里是您要输入的内容";//在书签处插入文字内容
 
            //在书签处插入表格
            oStart = "PatInfo";//word中的书签名 
            range = wordDoc.Bookmarks.get_Item(ref oStart).Range;//表格插入位置      
            MSWord.Table tab_Pat = wordDoc.Tables.Add(range, 2, 4, ref missing, ref missing);//开辟一个2行4列的表格
            tab_Pat.Range.Font.Size = 10.5F;
            tab_Pat.Range.Font.Bold = 0;
           
            tab_Pat.Columns[1].Width = 50;
            tab_Pat.Columns[2].Width = 65;
            tab_Pat.Columns[3].Width = 40;
            tab_Pat.Columns[4].Width = 40;
           
            tab_Pat.Cell(1, 1).Range.Text = "病历号";
            tab_Pat.Cell(1, 2).Range.Text = "PatientNO";
            tab_Pat.Cell(1, 3).Range.Text = "身高";
            tab_Pat.Cell(1, 4).Range.Text = "Height";
 
            tab_Pat.Cell(2, 1).Range.Text = "姓名";
            tab_Pat.Cell(2, 2).Range.Text ="PatientName";
            tab_Pat.Cell(2, 3).Range.Text = "体重";
            tab_Pat.Cell(2, 4).Range.Text = "Weight";
 
 
            //保存word
            object format = WdSaveFormat.wdFormatDocument;//保存格式 
            wordDoc.SaveAs(ref templateName, ref format, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
            //关闭wordDoc,wordApp对象              
            object SaveChanges = WdSaveOptions.wdSaveChanges;
            object OriginalFormat = WdOriginalFormat.wdOriginalDocumentFormat;
            object RouteDocument = false;
            wordDoc.Close(ref SaveChanges, ref OriginalFormat, ref RouteDocument);
            wordApp.Quit(ref SaveChanges, ref OriginalFormat, ref RouteDocument);
        }
 
 
// 杀掉winword.exe进程          
        public void killWinWordProcess()
        {
            System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName("WINWORD"); 
            foreach (System.Diagnostics.Process process in processes) 
            {
                bool b = process.MainWindowTitle == ""; 
                if (process.MainWindowTitle == "") 
                {
                    process.Kill(); 
                } 
            }
        }

最困扰我们的欲望,其一是爱情,其二是性。当我们所渴望的真的变成现实的时候,我们会发现,原来它并非那么华丽,有时还让我们觉得充满了极强的欺骗性。

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;
        }

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