.net Aspose.Words word插入表格

摘要:
代码://////导出单词:///////[HttpGet][Route(“api/Values/Todoc”)]publicHttpResponseMessageTodoc(intid){stringsaveDocFile=System.Web.Hosting.H

Code:

.net Aspose.Words word插入表格第1张.net Aspose.Words word插入表格第2张
 /// <summary>
        /// 导出word
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("api/Values/Todoc")]
        public HttpResponseMessage Todoc(int id)
        {
            string saveDocFile = System.Web.Hosting.HostingEnvironment.MapPath("~/" + "img/") + DateTime.Now.ToString("yyyyMMdd")+ DateTime.Now.ToString("HHmmss") + ".docx";
            Aspose.Words.Document doc = new Aspose.Words.Document();           
            Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
           
            builder.InsertHtml("<h1>2020年郑州市青少年机器人竞赛</h1>");
            builder.InsertHtml("<h1>暨第二十届河南省青少年机器人竞赛</h1>");
            builder.InsertHtml("<h1>郑州分赛区获取报名系统</h1>");

            var team = db.Team.FirstOrDefault(x => x.ID == id);
            
            #region 添加第一行


            builder.InsertCell();
            //第一行第一列
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.RowFormat.Height = 25;//设置此行高度
            builder.RowFormat.HeightRule = HeightRule.Exactly;//设置HeightRule
            builder.CellFormat.Orientation = TextOrientation.Horizontal;  //设置单元格文本的格式
            builder.Write("队伍名称");

            //第一行第二列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            

            //第一行第三列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write(team?.Name);
            //第一行第四列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第一行第五列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("队伍编号");
            //第一行第六列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第一行第七列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("");
            //第一行第八列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            builder.EndRow();
            #endregion

            #region 添加第一行


            builder.InsertCell();
            //第一行第一列
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("联系人");

            //第一行第二列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;


            //第一行第三列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write(team?.Teacher);

            //第一行第四列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第一行第五列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("电话");
            //第一行第六列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第一行第七列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write(team?.Mobile);

            //第一行第八列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            builder.EndRow();
            #endregion

            #region 添加第一行


            builder.InsertCell();
            //第一行第一列
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("电子邮箱");

            //第一行第二列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;


            //第一行第三列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write(team?.Email);

            //第一行第四列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第一行第五列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            //第一行第六列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第一行第七列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            //第一行第八列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            builder.EndRow();
            #endregion

            var student = db.Student.Where(x => x.TeamID == id).ToList();
            CreatRowTo2(builder, student);
            var teacher = db.Teacher.Where(x => x.TeamID == id).ToList();
            CreateRowTo3(builder, teacher);
            #region 添加第四行
            //第四行第一列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("备注");
            //第四行第二列

            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            
            //第四行第三列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;

            //第四行第四列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            builder.Write("第四行第二列");
            //第四行第五列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第四行第六列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第四行第七列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第四行第八列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            builder.EndRow();
            #endregion
            builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//文字对齐方式
            //表格水平居中
            var table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, 0, true);
            table.Alignment = TableAlignment.Center;


            try
            {
                var docStream = new MemoryStream();
                doc.Save(docStream, SaveOptions.CreateSaveOptions(SaveFormat.Docx));

                var result = new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new ByteArrayContent(docStream.ToArray())
                };
                result.Content.Headers.ContentDisposition =
                    new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
                    {
                        FileName = "File.docx"
                    };
                result.Content.Headers.ContentType =
                    new MediaTypeHeaderValue("application/octet-stream");

                return result;
            }
            catch
            {
                return new HttpResponseMessage(HttpStatusCode.NoContent);
            }


            
           
        }
      /// <summary>
      /// 第二块
      /// </summary>
      /// <param name="builder"></param>
      /// <param name="list"></param>
        public void CreatRowTo2(Aspose.Words.DocumentBuilder builder,List<Student> list)
        {
            #region 添加第二行

            //第二行第一列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.First;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.CellFormat.Width = 10.00;
            builder.Write("队员资料");

            //第二行第二列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("姓名");

            //第二行第三列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.CellFormat.Width = 25.00;
            builder.Write("性别");

            //第二行第四列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("身份证号码");
            //第二行第五列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("年级");

            //第二行第六列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("就读学校");
            //第二行第七列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;


            //第二行第八列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("就读学校省份");
            builder.EndRow();
            #endregion
            int count = 0;
            if (list!=null && list.Count()>0)
            {
                count = list.Take(9).ToList().Count();
                foreach (var item in list.Take(9).ToList())
                {
                    #region 添加第二行
                    //第二行第一列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.Previous;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.CellFormat.Width = 10.00;

                    //第二行第二列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.Write(item.Name);

                    //第二行第三列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;                   
                    builder.Write(item.Gender == 1 ? "" : "");

                    //第二行第四列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.Write(item.IDNumber);
                    //第二行第五列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.Write(item.Class);

                    //第二行第六列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.First;
                    builder.Write(item.School);
                    //第二行第七列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;


                    //第二行第八列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.Write(item.Province);
                    builder.EndRow();
                    #endregion
                }
            }
            for (int i = count; i < 10; i++)
            {
                #region 添加第二行
                //第二行第一列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.Previous;
                builder.CellFormat.HorizontalMerge = CellMerge.None;
                builder.CellFormat.Width = 10.00;

                //第二行第二列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;

                //第二行第三列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;              

                //第二行第四列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;
                //第二行第五列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;

                //第二行第六列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.First;
                //第二行第七列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.Previous;


                //第二行第八列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;
                builder.EndRow();
                #endregion
            }
        }
        /// <summary>
        /// 第三块
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="list"></param>
        public void CreateRowTo3(Aspose.Words.DocumentBuilder builder, List<Teacher> list)
        {
            #region 添加第三行

            //第三行第一列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.First;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("教练资料");

            //第三行第二列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("姓名");

            //第三行第二列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("性别");

            //第三行第四列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.None;
            builder.Write("身份证号码");
            //第三行第五列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("电话");
            //第三行第六列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;

            //第三行第七列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.First;
            builder.Write("电子邮箱");
            //第一行第八列
            builder.InsertCell();
            builder.CellFormat.VerticalMerge = CellMerge.None;
            builder.CellFormat.HorizontalMerge = CellMerge.Previous;
            builder.EndRow();
            #endregion
            int count = 0;
            if (list != null && list.Count() > 0)
            {
                count = list.Take(3).ToList().Count();
                foreach (var item in list.Take(3).ToList())
                {
                    #region 添加第三行

                    //第三行第一列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.Previous;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;

                    //第三行第二列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.Write(item.Name);

                    //第三行第二列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.Write(item.Gender == 1 ? "" : "");

                    //第三行第四列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.None;
                    builder.Write(item.IDNumber);
                    //第三行第五列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.First;
                    builder.Write(item.Mobile);
                    //第三行第六列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;

                    //第三行第七列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.First;
                    builder.Write(item.Email);
                    //第一行第八列
                    builder.InsertCell();
                    builder.CellFormat.VerticalMerge = CellMerge.None;
                    builder.CellFormat.HorizontalMerge = CellMerge.Previous;
                    builder.EndRow();
                    #endregion
                }
            }
            for (int i = count; i < 3; i++)
            {
                #region 添加第三行

                //第三行第一列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.Previous;
                builder.CellFormat.HorizontalMerge = CellMerge.None;

                //第三行第二列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;

                //第三行第二列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;

                //第三行第四列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.None;
                //第三行第五列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.First;
                //第三行第六列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.Previous;

                //第三行第七列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.First;
                //第一行第八列
                builder.InsertCell();
                builder.CellFormat.VerticalMerge = CellMerge.None;
                builder.CellFormat.HorizontalMerge = CellMerge.Previous;
                builder.EndRow();
                #endregion
            }

        }
View Code

免责声明:文章转载自《.net Aspose.Words word插入表格》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇dom4j工具对XML写入修改删除操作实现Easy UI 下拉框绑定【失去焦点】事件并设置焦点的方法以及按下【Tab键】触发事件指定下一焦点的位置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Debian下安装NFS服务器

1.安装非常简单。在Debian系统下安装NFS非常简单。在NFS服务器上执行以下命令以#aptitunstallnfs内核服务器(默认情况下将安装portmap和NFS-common)。在客户端,您需要安装:#intelligent installnfs commonportmap 2。启动、停止并重新启动服务器:启动服务#/etc/init。d/nfs内...

Mysql 查询以某个字符开头的语句

为了查询以某个字符开头的数据,MySQL中经常使用它。常见的语句如下:以查询文章标题以单词“positive”开头的语句为例:使用通配符:1SELECT*FROM`article`,其中title类似于“positive%”;使用左函数:使用字符串截断函数:1SELECT*FROM`article`其中substring(title,1,1)='positi...

docker.service启动失败:Unit not found的原因及解决办法

解决方案是删除/usr/lib/systemd/system/docker.service的[UNIT]中包含的dockersocket,然后重新加载systemctldaemon,最后是systemctlstartdocker.service。启动成功。在类似的情况下,docker.socket缺失,但新版本需要docker.seocket。这是因为Fla...

差分方程的零输入响应与零状态响应

差分方程的迭代分析方法有以下缺点:没有闭合解,不利于数学分析。某个时间的输出只能从头开始计算。本文介绍了差分方程的零输入响应和零状态响应分析方法。对于系统,这种分析方法可以很好地表达系统响应的物理意义=Y[-1]=0$Input Y[n]。回顾零输入响应和零状态响应的迭代计算,我们发现以下规则:$egin{align*}y[0]&=-&qqu...

java 服务接口API限流 Rate Limit

服务接口的流量控制策略:分流、降级、流量限制等。2)使用Reids的列表结构,而不是incr命令1FUNCTIONLIMIT_API_CALLL2current=LLEN3IFcurrent˃10THEN4ERROR“toomanyrequestsperssecond”5ELSE6IFEXIST==FALSE7MULTI8RPUSH9EXPIRE10EXEC...

jquery跨域请求数据

Jquery跨域请求数据Jquery跨请求数据。事实上,这很容易。请遵循以下步骤:首先,编写js,通过get获取远程数据。请注意,回调参数应添加在链接之后,这意味着将回调函数地址传输到远程页面。',{params},函数cb{alert;alert;},'json');第二:编写处理程序。publicvoidProcessRequest{context.Re...