最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#采用OpenXml給Word文檔添加表格

 更新時間:2014年09月24日 10:27:21   投稿:shichen2014  
這篇文章主要介紹了C#采用OpenXml給Word文檔添加表格的方法,是OpenXml操作Word的一個非常實用的技巧,需要的朋友可以參考下

本文實例講述了C#采用OpenXml給Word文檔添加表格的方法,是非常實用的操作技巧。分享給大家供大家參考。具體分析如下:

這里將展示如何使用Openxml向Word添加表格. 代碼中表頭和數據我們用的同一個TableRow來添加,其實可以通過TableHeader來,其實都一樣。后面我們還會進一步給出如何設置單元格樣式。表頭那一行可以自己通過設置樣式來控制

示例代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

namespace AddTableToWord
{
  public class Program
  {
    public static void Main(string[] args)
    {
      List<string[]> lstData = new List<string[]>() { new string[] { "1", "2", "3" }, new string[] { "3", "2", "1" } };
      string[] headerArray = new string[] { "A", "B", "C" };
      AddTable("Test.docx", lstData, headerArray);
    }

    /// <summary>
    /// word里面添加table
    /// </summary>
    /// <param name="wordPath">word文件路徑</param>
    /// <param name="lstData">數據</param>
    /// <param name="headerArray">表頭</param>
    public static void AddTable(string wordPath, List<string[]> lstData, string[] headerArray)
    {
      using (WordprocessingDocument doc = WordprocessingDocument.Open(wordPath, true))
      {
        TableGrid grid = new TableGrid();
        int maxColumnNum = lstData.Select(x => x.Count()).Max();
        for (int index = 0; index < maxColumnNum; index++)
        {
          grid.Append(new TableGrid());
        }

        // 設置表格邊框
        TableProperties tblProp = new TableProperties(
        new TableBorders(
        new TopBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
        new BottomBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
        new LeftBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
        new RightBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
        new InsideHorizontalBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 },
        new InsideVerticalBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 2 }
        )
        );

        Table table = new Table();
        table.Append(tblProp);

        // 添加表頭. 其實有TableHeader對象的,小弟用不來.
        TableRow headerRow = new TableRow();
        foreach (string headerStr in headerArray)
        {
          TableCell cell = new TableCell();
          cell.Append(new Paragraph(new Run(new Text(headerStr))));
          headerRow.Append(cell);
        }
        table.Append(headerRow);

        // 添加數據
        foreach (string[] rowArray in lstData)
        {
          TableRow row = new TableRow();
          foreach (string strCell in rowArray)
          {
            TableCell cell = new TableCell();
            cell.Append(new Paragraph(new Run(new Text(strCell))));
            row.Append(cell);
          }
          table.Append(row);
        }

        doc.MainDocumentPart.Document.Body.Append(new Paragraph(new Run(table)));
      }
    }
  }
}

執(zhí)行呈現結果如下:

希望本文所述對大家的C#程序設計有所幫助

相關文章

  • C#后臺調用WebApi接口的實現方法

    C#后臺調用WebApi接口的實現方法

    本文主要介紹了C#后臺調用WebApi接口的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • C#調用WinAPI部分命令的方法實現

    C#調用WinAPI部分命令的方法實現

    本文主要介紹了C#調用WinAPI部分命令的方法實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • Unity3D Shader實現動態(tài)屏幕遮罩

    Unity3D Shader實現動態(tài)屏幕遮罩

    這篇文章主要為大家詳細介紹了Unity3D Shader實現動態(tài)屏幕遮罩效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Unity的IFilterBuildAssemblies實用案例深入解析

    Unity的IFilterBuildAssemblies實用案例深入解析

    這篇文章主要為大家介紹了Unity的IFilterBuildAssemblies實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • 使用C#發(fā)送Http請求實現模擬登陸實例

    使用C#發(fā)送Http請求實現模擬登陸實例

    本文主要介紹了使用C#發(fā)送Http請求實現模擬登陸實例,模擬登陸的原理簡單,想要了解的朋友可以了解一下。
    2016-10-10
  • C#獲取打印機列表方法介紹

    C#獲取打印機列表方法介紹

    這篇文章介紹了C#獲取打印機列表的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • UGUI實現隨意調整Text中的字體間距

    UGUI實現隨意調整Text中的字體間距

    這篇文章主要為大家詳細介紹了UGUI實現隨意調整字體間距的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 一文看懂C#中List的擴容機制

    一文看懂C#中List的擴容機制

    這篇文章主要介紹了C#中的擴容機制,文中以實例代碼輔助,幫助大家更好的工作和學習,感興趣的小伙伴不妨了解下
    2020-05-05
  • C#中File和FileStream的簡單介紹和用法

    C#中File和FileStream的簡單介紹和用法

    這篇文章主要給大家介紹了關于C#中File和FileStream用法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • C#日期時間格式化小結

    C#日期時間格式化小結

    這篇文章主要介紹了C#中的時間與日期的格式化方法,需要的朋友可以參考下
    2013-09-09

最新評論

道孚县| 安溪县| 沙坪坝区| 民县| 马关县| 维西| 精河县| 五家渠市| 会宁县| 察哈| 西贡区| 丰县| 浦城县| 尉氏县| 通城县| 额尔古纳市| 徐汇区| 舟曲县| 怀来县| 镇平县| 丽江市| 新营市| 新化县| 台中县| 昌邑市| 泌阳县| 华阴市| 萨嘎县| 沙河市| 仁怀市| 长武县| 万盛区| 雅安市| 新田县| 郁南县| 房山区| 汕尾市| 澜沧| 乡宁县| 兴宁市| 海城市|