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文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...
随机推荐
- bzoj 3282: Tree (Link Cut Tree)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3282 题面: 3282: Tree Time Limit: 30 Sec Memory L ...
- <Android基础> (六) 数据存储 Part 1 文件存储方式
第六章 数据存储 6.1 持久化技术 持久化技术指将内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失. 主要有三种方式用于简单地实现数据持久化功能:文件存储.S ...
- LVS负载均衡DR模式实现
LVS负载均衡之DR模式配置 DR 模式架构图: 操作步骤 实验环境准备:(centos7平台) 所有服务器上配置 # systemctl stop firewalld //关闭防火墙 # sed - ...
- 安卓上用Termux终端模拟器安装MC Forge 1.12.2服务器!
本教程重度新手向,大神勿喷(因为楼主本人就是Linux小白)! 为了让教程合乎简约至上的原则,将不在基本操作上赘述 测试环境:酷派大神Note3 Android5.0 2GBRAM 未root 截图是 ...
- 属性的get、set
以年龄为例,通过属性,控制年龄的输入范围. 静态调用非静态时,需要通过对象来调用. namespace ConsoleApplication1 { class Program { private in ...
- 93.Restore IP Addresses(M)
93.Restore IP Addresses Medium 617237FavoriteShare Given a string containing only digits, restore it ...
- DirectX11--教程项目无法编译、运行的解决方法
综述 对于Win10系统的大多数用户来说,可以直接编译本教程对应的项目并运行.但也有部分用户由于某些原因可能会出现无法编译的情况. DirectX11 With Windows SDK完整目录 欢迎加 ...
- dataTable 实战总结
后台项目中经常会用到 dataTable 进行表格的智能绘制:总结一下项目中经常用到的 dataTable 设置 1.dataTable 属性设置: autoWidth: true, // 是否自动计 ...
- HTTP深入浅出 http请求完整过程
HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求 ...
- Android AVD启动报错:emulator: ERROR: x86_64 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable.
打开Android SDK manager查看安装发现HAXM在windows上无法安装 可以去 http://www.androiddevtools.cn/index.html 下载 Android ...