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

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

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

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

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

示例代碼如下:

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">數(shù)據(jù)</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());
        }

        // 設(shè)置表格邊框
        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);

        // 添加表頭. 其實(shí)有TableHeader對(duì)象的,小弟用不來.
        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);

        // 添加數(shù)據(jù)
        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í)行呈現(xiàn)結(jié)果如下:

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助

相關(guān)文章

  • C#后臺(tái)調(diào)用WebApi接口的實(shí)現(xiàn)方法

    C#后臺(tái)調(diào)用WebApi接口的實(shí)現(xiàn)方法

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

    C#調(diào)用WinAPI部分命令的方法實(shí)現(xiàn)

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

    Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)屏幕遮罩

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

    Unity的IFilterBuildAssemblies實(shí)用案例深入解析

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

    使用C#發(fā)送Http請(qǐng)求實(shí)現(xiàn)模擬登陸實(shí)例

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

    C#獲取打印機(jī)列表方法介紹

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

    UGUI實(shí)現(xiàn)隨意調(diào)整Text中的字體間距

    這篇文章主要為大家詳細(xì)介紹了UGUI實(shí)現(xiàn)隨意調(diào)整字體間距的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 一文看懂C#中List的擴(kuò)容機(jī)制

    一文看懂C#中List的擴(kuò)容機(jī)制

    這篇文章主要介紹了C#中的擴(kuò)容機(jī)制,文中以實(shí)例代碼輔助,幫助大家更好的工作和學(xué)習(xí),感興趣的小伙伴不妨了解下
    2020-05-05
  • C#中File和FileStream的簡(jiǎn)單介紹和用法

    C#中File和FileStream的簡(jiǎn)單介紹和用法

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

    C#日期時(shí)間格式化小結(jié)

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

最新評(píng)論

哈巴河县| 永新县| 石河子市| 贵南县| 枝江市| 通江县| 左贡县| 海南省| 乐至县| 明光市| 沭阳县| 盘山县| 江孜县| 百色市| 四子王旗| 陵水| 冕宁县| 通辽市| 松滋市| 独山县| 砀山县| 莱州市| 同心县| 宜昌市| 韶山市| 峨山| 武宁县| 罗定市| 奉贤区| 金华市| 锦屏县| 临夏县| 乌兰察布市| 泾川县| 达拉特旗| 扎兰屯市| 阿鲁科尔沁旗| 卓尼县| 博乐市| 安阳市| 九寨沟县|