【C#】C#使用Microsoft.Office.Interop.Word操作Word文档,向表格插入图片

C#操作WPS 专栏收录该内容
6 篇文章 0 订阅

上篇:【C#】C#使用Microsoft.Office.Interop.Word操作Word文档,替换文本

Word模板:

代码:

try
{
    Application app = new Application();

    string templetFileName = @"E:\BT\Test3.docx";
    string newFileName = $@"E:\BT\Test{DateTime.Now.ToString("yyyyMMddHHmmss")}.docx";
    //File.Copy(templetFileName, newFileName);

    object oMissing = System.Reflection.Missing.Value;
    object replace = WdReplace.wdReplaceAll;
    //object objNewFileName = newFileName;
    //Document doc = app.Documents.Open(ref objNewFileName,
    //    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);
    Document doc = app.Documents.Open(templetFileName);

    Dictionary<string, string> dicDatas = new Dictionary<string, string>()
    {
        { "{姓名}","Bob" },{ "{年龄}","18" },{ "{身份}","学生" }
    };

    foreach (var item in dicDatas)
    {
        app.Selection.Find.ClearFormatting();
        app.Selection.Find.Replacement.ClearFormatting();
        app.Selection.Find.Text = item.Key;
        app.Selection.Find.Replacement.Text = item.Value;

        app.Selection.Find.Execute(
            ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            ref oMissing, ref oMissing, ref oMissing, ref oMissing,
            ref oMissing, ref oMissing, ref replace, ref oMissing,
            ref oMissing, ref oMissing, ref oMissing);

    }

    //获取表格,索引从1开始
    Table table = doc.Tables[1];
    object Range = table.Cell(4, 1).Range;

    //居中显示
    table.Cell(4, 1).Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;

    string picFileName = @"E:\BT\pic.png";
    object LinkToFile = false;
    object SaveWithDocument = true;
    doc.Application.ActiveDocument.InlineShapes.AddPicture(picFileName, ref LinkToFile, ref SaveWithDocument, ref Range);

    doc.Application.ActiveDocument.InlineShapes[1].Width = 300;//图片宽度
    doc.Application.ActiveDocument.InlineShapes[1].Height = 180;//图片高度


    //doc.Save();
    doc.SaveAs2(newFileName);

    //doc.Close(ref oMissing, ref oMissing, ref oMissing);
    //app.Quit(ref oMissing, ref oMissing, ref oMissing);
    doc.Close();
    app.Quit();
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}

Console.WriteLine("Success");
Console.ReadKey();

效果:

参考:

https://www.cnblogs.com/superfeeling/p/12302335.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
一、C语言自我YY<br /> 1)、C语言是许多高级计算机语言的基础学好C语言能更好的学习其他高级语言为以后的学习打基础;往深学C语言的话那就是学到C在Linux里的应用Linux十分强大。<br /> 2)、C语言是一种计算机程序设计语言。具有高级语言的特点又具有汇编语言的特点。C语言可作为工作系统设计语言编写系统应用程序也可以作为应用程序设计语言编写不依赖计算机硬件的应用程序。<br /> 3)、应用范围广泛具备很强的数据处理能力不仅仅是在软件开发上而且各类科研都需要用到C语言适于编写系统软件三维二维图形和动画。具体应用比如单片机以及嵌入式系统开发。<br /> 4)、C语言是面过程语言C语言通过windows/linux平台下编译的是直接运行在windows/linux平台下的而XX始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作像XX就不能编写Windows病毒。<br /> 5)、如果要利用编程来做一些windows优化工作的话建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言<br /> 6、很多编译器几乎所有操作系统WindowsLinuxUnix的大部分代码都是CC在背后做了很多东西的也许开发游戏用C++安卓用XX更为合适图形界面的用其他语言开发效率更高一些(因为他们封装了很多东西)但同样的原因导致略微接近底层的功能其他语言根本干不了!Windows的API都是按照C语言的格式给的这也很能说明问题!嵌入式开发更是离不了C语言!纵观电脑发展几十年C语无所不能呀!
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值