一、需要引用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

最新文章

  1. 基于Windows 10平台的PM2.5检测器制作
  2. MongoDB Node.js driver
  3. 036医疗项目-模块三:药品供应商目录模块——供货商药品目录(批量)添加药品的功能---------Action层
  4. python tkinter用Treeview实现ListView效果
  5. Android_PendingIntent的使用
  6. zju2676 Network Wars 分数规划+网络流
  7. from表单实现无跳转上传文件,接收页面后台数据。
  8. 转:浅谈手机app测试注意点
  9. iOS 之 CALayer与UIView的区别
  10. webservice第一篇【介绍、Scoket、http调用、wsimport调用】
  11. logback root level logger level 日志级别覆盖?继承?
  12. css 样式表的书写顺序
  13. 登录小项目 js+servlet+jdbc+mvc
  14. Hbase记录-Hbase调优参数
  15. Write operations are not allowed in read-only mode 只读模式下(FlushMode.NEVER/MANUAL)写操作不允
  16. Cygwin安装与使用入门
  17. chrome浏览器network面板出现:Provisional headers are shown 提示
  18. 关于Javascript判断变量是否为空
  19. OpenCV iOS开发(一)——安装(转)
  20. import cx_Oracle报错,提示importError: DLL load failed: 不是有效的Win32程序。

热门文章

  1. openflow控制器和交换机之间的消息
  2. 使用ubuntu做为dotnet core开发环境
  3. 使用sshpass同时更新一台ubuntu和一台CentOS
  4. LOJ 6281 数列分块入门 5
  5. CF700E E. Cool Slogans
  6. matolop画图
  7. 优雅的使用git
  8. oracle not in 改为 not exist
  9. 享元模式-Flyweight(Java实现)
  10. nginx、php-fpm默认配置与性能–TCP socket还是unix domain socket【转】