浮华过后,真金始现

一切问题最终都是时间问题,一切烦恼其实都是自寻烦恼
随笔 - 20, 文章 - 10, 评论 - 92, 阅读 - 83873
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

[转]C#操作Word

Posted on   Kolor  阅读(366)  评论(0编辑  收藏  举报
前提:
导入COM库:Microsoft word 11.0 Object Library.
引用里面就增加了:



创建新Word
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

打开文档:
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            
object fileName = @"E:\CCCXCXX\TestDoc.doc";
            oDoc 
= oWord.Documents.Open(ref fileName,
            
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

导入模板
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            
object fileName = @"E:\XXXCCX\Test.doc";
            oDoc 
= oWord.Documents.Add(ref fileName, ref oMissing,
                            
ref oMissing, ref oMissing);


.添加新表
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

.表插入行
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

            Word.Table newTable 
= oDoc.Tables[1];
            
object beforeRow = newTable.Rows[1];
            newTable.Rows.Add(
ref beforeRow);

.单元格合并
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

            Word.Table newTable 
= oDoc.Tables[1];
            
object beforeRow = newTable.Rows[1];
            newTable.Rows.Add(
ref beforeRow);

            Word.Cell cell 
= newTable.Cell(11);
            cell.Merge(newTable.Cell(
12));

.单元格分离
            object oMissing = System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

            Word.Table newTable 
= oDoc.Tables[1];
            
object beforeRow = newTable.Rows[1];
            newTable.Rows.Add(
ref beforeRow);

            Word.Cell cell 
= newTable.Cell(11);
            cell.Merge(newTable.Cell(
12));

            
object Rownum = 2;
            
object Columnnum = 2;
            cell.Split(
ref Rownum, ref  Columnnum);

通过段落控制插入
            object oMissing = System.Reflection.Missing.Value;
            
object oEndOfDoc = "\\endofdoc"/**//* \endofdoc is a predefined bookmark */

            
//Start Word and create a new document.
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
= new Word.Application();
            oWord.Visible 
= true;
            oDoc 
= oWord.Documents.Add(ref oMissing, ref oMissing,
                
ref oMissing, ref oMissing);

            
//Insert a paragraph at the beginning of the document.
            Word.Paragraph oPara1;
            oPara1 
= oDoc.Content.Paragraphs.Add(ref oMissing);
            oPara1.Range.Text 
= "Heading 1";
            oPara1.Range.Font.Bold 
= 1;
            oPara1.Format.SpaceAfter 
= 24;    //24 pt spacing after paragraph.
            oPara1.Range.InsertParagraphAfter();

引自http://tmsoft.lsxy.com/index.php?load=read&id=334
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示