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[0] as Table;
                    //總條數
                    var count = table.RowCount;

                    //查詢列表中的數據
                    foreach (var item in table.Rows)
                    {
                        var str1 = item.Cells[0].Paragraphs[0].Text;
                        var str2 = item.Cells[1].Paragraphs[0].Text;
                        var str3 = item.Cells[2].Paragraphs[0].Text;
                    }

                    //獲取其中的一條數據
                    var tableItem = table.Rows.FirstOrDefault(a => a.Cells[0].Paragraphs[0].Text == "書體坊向佳紅毛筆行書");
                    var p = tableItem?.Cells[0].Paragraphs[0].Text;

                    //刪除數據
                  table.Rows.RemoveAt(1);


                    document.Save();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);

            }

        }

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM