C# 操作docx文档
一、需要引用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文档的更多相关文章
- python操作docx文档(转)
python操作docx文档 关于python操作docx格式文档,我用到了两个python包,一个便是python-docx包,另一个便是python-docx-template;,同时我也用到了很 ...
- [python-docx]docx文档操作的库
from docx import Document from docx.shared import Inches # 新建document对象 document = Document() # 添加段落 ...
- JAVA 使用模板创建DOCX文档)(XDocService 使用报错条数过多报错链接不上服务器)
详细解释https://xdoc.iteye.com/blog/2399451 https://xdoc.iteye.com/ 导入 XDocService.jar 我说一下我遇到的问题 我从数 ...
- javascript DOM操作HTML文档
文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...
- 操作xml文档的常用方式
1.操作XML文档的两种常用方式: 1)使用XmlReader类和XmlWriter类操作 XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点 ...
- 文档对象模型操作xml文档
简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...
- 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox
原文 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox 很久没自己写写心得日志与大家分享了,一方面是自己有点忙,一方面是自己有点懒,没有及时总结.因为实践是经验的来源,总结 ...
- iText操作word文档总结
操作word文档的工具有很多,除了iText之外还有POI,但是POI擅长的功能是操作excel,虽然也可以操作word,但是能力有限,而且还有很多的bug,技术并不成熟,下面就重点介绍一种操作wor ...
- C#操作Word文档(加密、解密、对应书签插入分页符)
原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...
随机推荐
- 牛客网 272B Xor Path(树上操作)
题目链接:Xor Path 题意:每个顶点的点权为Ai,任意两点路径上点权异或和为Path(i,j),求所有Path(i,j)和. 题解:考虑每个顶点被用到的次数,分以下三种情况: 1.本身和其他顶点 ...
- [NOIP2017] 列队(平衡树)
考虑转化题意: 设这次操作删掉点\((x, y)\) 对于每一次向左看齐:在第x行删除\((x, y)\),并将y以后的点全部前移一位 对于每一次向前看齐:x以后的点全部上移一位,并在最后一列插入\( ...
- content-type 组件
content-type初识 什么是content-type ContentType是Django的内置的一个应用,可以追踪项目中所有的APP和model的对应关系,并记录在ContentType表中 ...
- Mysql 查询当月时间数据
SELECTDATE_FORMAT(CURDATE(), '%Y%m'), DATE_FORMAT(t.transactiontime, '%Y%m'),t.*FROM ttransactions t ...
- ref、out参数
ref和out都是表示按引用传递.与指针类似,直接指向同一内存. 按值传递参数的方法永远不可能改变方法外的变量,需要改变方法外的变量就必须按引用传递参数. 传递参数的方法,在C语言里,用指针.在C#里 ...
- windows10安装docker,运行jhipster-registry
1.官网下载windows版docker 2.设置bios 3.CMD进入到某个jhipster的工程目录,执行"docker-compose -f src/main/docker/jhip ...
- python计算素数和
计算输入两个正整数x,y(x<=y,包括x,y)素数和.函数isPrime用以判断一个数是否素数,primeSum函数返回素数和 以下为源码 def isPrime(n) : for i ...
- 【游戏开发】基于VS2017的OpenGL开发环境搭建
一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...
- Sql查询某个字段是否包含小写字母
SELECT * from student where username COLLATE Chinese_PRC_CS_AS LIKE '%[abcdefghijklmnopqrstuvwxyz]%'
- python中的图像数据库PIL
from PIL import Image im = Image.open("图片路径") im.function() 常用的函数: 1.im.crop(x,y,x1,y1) 对图 ...