一、需要引用DocX类库文件,可以直接在NuGet中找到。

二、创建文件,并添加一张表格

        public static string fileName = AppDomain.CurrentDomain.BaseDirectory + "youziku-5.doc";

        public static bool ExistsFile()
{
try
{
if (File.Exists(fileName)) return true;
//创建文件
File.Create(fileName).Close();
using (var document = DocX.Create(fileName))
{
//创建一个1行3列的表格
var table = document.AddTable(1, 3);
table.Design = TableDesign.LightList;//边框
table.Alignment = Alignment.center;
table.Rows[0].Cells[0].Paragraphs[0].Append("字体名称");
table.Rows[0].Cells[1].Paragraphs[0].Append("字体效果");
table.Rows[0].Cells[2].Paragraphs[0].Append("字体厂商");
var p1 = document.InsertParagraph();
p1.InsertTableAfterSelf(table);
// 保存当前文档
document.Save();
} return true;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
}

三、向表格中追加数据 

  public static string Set(string fontName, string fontCompany)
{
try
{
//如果不存在文件则创建
var result = ExistsFile();
if (!result) return TAjaxCallBack.ERROR;
using (var document = DocX.Load(fileName))
{
var imgpath = AppDomain.CurrentDomain.BaseDirectory + "123.png";
// 将图像添加到文档中。
var image = document.AddImage(imgpath);
var picture = image.CreatePicture(); var table = document.Tables[0];
var count = table.RowCount;
table.InsertRow();
table.Rows[count].Cells[0].Paragraphs[0].Append(fontName);
table.Rows[count].Cells[1].Paragraphs[0].AppendPicture(picture);
table.Rows[count].Cells[2].Paragraphs[0].Append(fontCompany);
document.Save();
} return TAjaxCallBack.OK;
}
catch (Exception e)
{
Console.WriteLine(e);
return TAjaxCallBack.ERROR;
}
}

四、查询及删除  

  

  public void Set()
{
try
{
using (var document = DocX.Load(path))
{
//获取表格
var table = document.Tables[] as Table;
//总条数
var count = table.RowCount; //查询列表中的数据
foreach (var item in table.Rows)
{
var str1 = item.Cells[].Paragraphs[].Text;
var str2 = item.Cells[].Paragraphs[].Text;
var str3 = item.Cells[].Paragraphs[].Text;
} //获取其中的一条数据
var tableItem = table.Rows.FirstOrDefault(a => a.Cells[].Paragraphs[].Text == "书体坊向佳红毛笔行书");
var p = tableItem?.Cells[].Paragraphs[].Text; //删除数据
table.Rows.RemoveAt(); document.Save();
}
}
catch (Exception e)
{
Console.WriteLine(e); } }

更多关于操作docx文件:https://blog.csdn.net/Eiceblue/article/details/78409116

C# 操作docx文档的更多相关文章

  1. python操作docx文档(转)

    python操作docx文档 关于python操作docx格式文档,我用到了两个python包,一个便是python-docx包,另一个便是python-docx-template;,同时我也用到了很 ...

  2. [python-docx]docx文档操作的库

    from docx import Document from docx.shared import Inches # 新建document对象 document = Document() # 添加段落 ...

  3. JAVA 使用模板创建DOCX文档)(XDocService 使用报错条数过多报错链接不上服务器)

    详细解释https://xdoc.iteye.com/blog/2399451 https://xdoc.iteye.com/  导入 XDocService.jar   我说一下我遇到的问题 我从数 ...

  4. javascript DOM操作HTML文档

    文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...

  5. 操作xml文档的常用方式

    1.操作XML文档的两种常用方式: 1)使用XmlReader类和XmlWriter类操作 XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点 ...

  6. 文档对象模型操作xml文档

    简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...

  7. 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox

    原文 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox 很久没自己写写心得日志与大家分享了,一方面是自己有点忙,一方面是自己有点懒,没有及时总结.因为实践是经验的来源,总结 ...

  8. iText操作word文档总结

    操作word文档的工具有很多,除了iText之外还有POI,但是POI擅长的功能是操作excel,虽然也可以操作word,但是能力有限,而且还有很多的bug,技术并不成熟,下面就重点介绍一种操作wor ...

  9. C#操作Word文档(加密、解密、对应书签插入分页符)

    原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...

随机推荐

  1. ref、out参数

    ref和out都是表示按引用传递.与指针类似,直接指向同一内存. 按值传递参数的方法永远不可能改变方法外的变量,需要改变方法外的变量就必须按引用传递参数. 传递参数的方法,在C语言里,用指针.在C#里 ...

  2. CTF--web

    https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=0 1.view source 查看源代码 1.鼠 ...

  3. Linux系统下rm删除文件后空间没有释放问题解决办法

    一.问题描述 今日收到zabbix监控报警,发现生产环境一台服务器的磁盘空间不足,需要进行处理,登录后发现可利用率不足20%,进行相关查看和处理工作:但是操作删除了一些备份文件和日志信息后,查看空间仍 ...

  4. ant 执行jmeter

    构建-invoke ant -properties jmeter.home=/home/userapp/apps/apache-jmeter-5.0report.title=kyh_register_ ...

  5. 制作OpenStack使用的windows镜像

    1 安装vmware14 2 创建ubuntu-desktop-16.04虚拟机 选择自定义安装 选择ubuntu-16.04-desktop.iso 内存要大于2G,推荐4G. 磁盘要大于50G 关 ...

  6. KAGGLE竟赛

    KAGGLE竟赛 关于kaggle的竟赛规则我们勇闯组做出了一些说明,大家可以借鉴一下如何参加kaggle,参加kaggle大赛的一些注意事项,自己参加一些项目,一定会使你的知识量得到质的提升 这是链 ...

  7. jmeter使用csv传参进行并发测试验证

    1.获取到注册接口,添加HTTP信息头管理器.HTTP请求,设置好入参,且检查使用csv文件传参的入参 2.创建csv文件,写入需要传的入参 3.添加CSV Data Set Config 设置配置 ...

  8. 移动端雪碧图sprite的实现

    移动端适配的时候,通常是用rem作为长宽单位,因此,在不同的设备下,元素的实际宽高(px)是不一样的,如果是单张图片作为为背景图片的时候,最为方便,只要设置背景图片的属性background-size ...

  9. 在vscode中使用eslint+prettier格式化vue项目代码 (转载)

    ESlint:javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化好,自行体会~~ vetur:可以格式化html.标准c ...

  10. Pytorch学习笔记(一)---- 基础语法

    书上内容太多太杂,看完容易忘记,特此记录方便日后查看,所有基础语法以代码形式呈现,代码和注释均来源与书本和案例的整理. # -*- coding: utf-8 -*- # All codes and ...