zoukankan      html  css  js  c++  java
  • Aspose.words四 bookmark

    通过添加bookmark书签来添加数据,首先通过方法MoverToBookmark移动指定的标签位置,然后添加数据,添加完成后清除掉bookmark标示。

                string templateFile = Server.MapPath("User_tmplt.doc");
                string savePath = Server.MapPath("User.doc");
    
                Aspose.Words.Document doc = new Aspose.Words.Document(templateFile);
                Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
    
                //表数据
                DataTable nameList = new DataTable();
                nameList.Columns.Add("编号");
                nameList.Columns.Add("姓名");
                nameList.Columns.Add("时间");
                DataRow row = null;
                for (int i = 0; i < 3; i++)
                {
                    row = nameList.NewRow();
                    row["编号"] = i.ToString().PadLeft(4, '0');
                    row["姓名"] = "菜鸟程序员 " + i.ToString();
                    row["时间"] = DateTime.Now.ToString();
                    nameList.Rows.Add(row);
                }
    
                //获取表头的单元格的宽度
                List<double> widthList = new List<double>();
                for (int i = 0; i < nameList.Columns.Count; i++)
                {
                    builder.MoveToCell(0, 0, i, 0); //移动单元格
                    double width = builder.CellFormat.Width;//获取单元格宽度
                    widthList.Add(width);
                }
    
                builder.MoveToBookmark("table");        //开始添加值
                for (var i = 0; i < nameList.Rows.Count; i++)
                {
                    for (var j = 0; j < nameList.Columns.Count; j++)
                    {
                        builder.InsertCell();// 添加一个单元格                    
                        builder.CellFormat.Borders.LineStyle = LineStyle.Single;
                        builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
                        builder.CellFormat.Width = widthList[j];
                        builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
                        builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;//垂直居中对齐
                        builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
                        builder.Write(nameList.Rows[i][j].ToString());
                    }
                    builder.EndRow();
                }
                doc.Range.Bookmarks["table"].Text = "";    // 清掉标示  
    
                doc.Save(savePath);
    

      

  • 相关阅读:
    Qt passwd echoMode placeholer QString.trimmed()
    bit opt
    Linux Kernel Development系统调用
    Linux Kernel Development——列出系统中所有的进程
    Linux Kernel Development——内存管理
    Linux Kernel Development——定时器和时间管理
    Linux Kernel Development——内核同步方法
    [转]Linux 2.6中断下半部机制分析
    Linux Kernel Development——中断
    Linux Kernel Development——虚拟文件系统
  • 原文地址:https://www.cnblogs.com/guohu/p/9447459.html
Copyright © 2011-2022 走看看