Aspose Word模板使用总结

1.创建word模版,使用MergeFeild绑定数据
     新建一个Word文档,命名为Template.doc

     注意:这里并不是输入"《”和“》”就可以了,而是必须在菜单的"插入→文档部件→域”找到MergeField并输入相应的域名

2.使用数组提供数据源
 string tempPath = Server.MapPath("~/Docs/Temp/Template.doc");
 string outputPath = Server.MapPath("~/Docs/Output/Template.doc");
 //载入模板
 var doc = new Document(tempPath);
 //提供数据源
 String[] fieldNames = new String[] {"UserName", "Gender", "BirthDay", "Address"};
 Object[] fieldValues = new Object[] {"张三", "男", "1988-09-02", "陕西咸阳"};
 //合并模版,相当于页面的渲染
 doc.MailMerge.Execute(fieldNames, fieldValues);
 //保存合并后的文档
 doc.Save(outputPath);

3. 创建循环数据的模版,这里的循环数据类似页面的for结构,不拘泥于形式table

   «TableStart:UserList»

   姓名:«UserName»

   «TableEnd:UserList»

   

4.使用DataTable提供数据源

//创建名称为UserList的DataTable

DataTable table=new DataTable("UserList");

table.Columns.Add("UserName");

table.Columns.Add("Gender");

table.Columns.Add("BirthDay");

table.Columns.Add("Address");

//----------------------------------------------------------------------------------------------------

//载入模板

 var doc = new Document(tempPath);
 //提供数据源
 var datatable= GetDataTable();
 //合并模版,相当于页面的渲染
  doc.MailMerge.ExecuteWithRegions( datatable );
  var docStream = new MemoryStream();
 doc.Save(docStream, SaveOptions.CreateSaveOptions(SaveFormat.Doc));
 return base.File(docStream.ToArray(), "application/msword","Template.doc");

5.绑定带有子循环数据模版

6.使用DataSet提供数据源
 Document documentAspose = new Document("E:\\ApiService\\docx\\a.docx");


            DocumentBuilder builder = new DocumentBuilder(documentAspose);
            //用户表结构
            DataTable table = new DataTable("UserList");
            table.Columns.Add(new DataColumn("Id", typeof(int)));
            table.Columns.Add("UserName");
           


             var row= table.NewRow();
             row["Id"] = 1;
             row["UserName"] = "黄华东";


            var row1 = table.NewRow();
            row1["Id"] = 2;
            row1["UserName"] = "黄华东B";


            table.Rows.Add(row);
            table.Rows.Add(row1);
            //分数表结构
            DataTable table2 = new DataTable("ScoreList");
            table2.Columns.Add(new DataColumn("UserId", typeof(int)));
            table2.Columns.Add("Name");
            table2.Columns.Add("Score");


            var rowt = table2.NewRow();
            rowt["UserId"] = 1;
            rowt["Name"] = "语文";
            rowt["Score"] = "80";
            var rowm = table2.NewRow();
            rowm["UserId"] = 1;
            rowm["Name"] = "数学";
            rowm["Score"] = "90";




            var rowa = table2.NewRow();
            rowa["UserId"] = 2;
            rowa["Name"] = "语文";
            rowa["Score"] = "40";
            var rowb = table2.NewRow();
            rowb["UserId"] = 2;
            rowb["Name"] = "数学";
            rowb["Score"] = "30";




            table2.Rows.Add(rowt);
            table2.Rows.Add(rowm);


            table2.Rows.Add(rowa);
            table2.Rows.Add(rowb);




            //----------------------------------------------------------------------------------------------------
            //载入模板


            //提供数据源
            DataSet dataSet = new DataSet();
            var userTable = table;
            var userScoreTable = table2;
            dataSet.Tables.Add(userTable);
            dataSet.Tables.Add(userScoreTable);
            dataSet.Relations.Add(new DataRelation("ScoreListForUser", userTable.Columns["Id"], userScoreTable.Columns["UserId"]));
            //合并模版,相当于页面的渲染
            documentAspose.MailMerge.ExecuteWithRegions(dataSet);
            
            documentAspose.Save("E:\\ApiService\\docx\\huanghuadong_WTS.docx");

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1. NTE通过word模板使用Asposeword将datagridview复选框选中行进行数据动态导出Word的详细步骤如下: Step 1:创建Word模板 首先,需要在Word中创建一个带有表格的模板,表格中包含需要导出的数据列。 Step 2:安装Aspose.Words 使用Aspose.Words进行Word文档操作,需要先安装Aspose.Words。 Step 3:在代码中创建Word文档对象 在代码中创建一个Aspose.Words.Document对象。 Step 4:获取模板中的表格 使用Aspose.Words.Document对象的GetChildNodes方法获取模板中的表格。 Step 5:获取datagridview中选中的行数据 使用datagridview.SelectedRows属性获取选中的行数据。 Step 6:将选中的行数据填充到表格中 使用Aspose.Words.Table对象的Rows属性和Cells属性,将选中的行数据填充到表格中。 Step 7:保存Word文档 使用Aspose.Words.Document对象的Save方法保存Word文档。 2. 过word模板使用Asposeword将datagridview复选框选中行导入word的步骤如下: Step 1:创建Word模板 首先,需要在Word中创建一个带有表格的模板,表格中包含需要导入数据的列。 Step 2:安装Aspose.Words 使用Aspose.Words进行Word文档操作,需要先安装Aspose.Words。 Step 3:在代码中创建Word文档对象 在代码中创建一个Aspose.Words.Document对象。 Step 4:获取模板中的表格 使用Aspose.Words.Document对象的GetChildNodes方法获取模板中的表格。 Step 5:获取datagridview中选中的行数据 使用datagridview.SelectedRows属性获取选中的行数据。 Step 6:将选中的行数据填充到表格中 使用Aspose.Words.Table对象的Rows属性和Cells属性,将选中的行数据填充到表格中。 Step 7:保存Word文档 使用Aspose.Words.Document对象的Save方法保存Word文档。 3. 将datagridview导入word的步骤如下: Step 1:安装Aspose.Words 使用Aspose.Words进行Word文档操作,需要先安装Aspose.Words。 Step 2:在代码中创建Word文档对象 在代码中创建一个Aspose.Words.Document对象。 Step 3:创建表格 使用Aspose.Words.Table对象创建需要导入数据的表格。 Step 4:获取datagridview中的数据 使用datagridview.Rows属性获取datagridview中的数据。 Step 5:将datagridview中的数据填充到表格中 使用Aspose.Words.Table对象的Rows属性和Cells属性,将datagridview中的数据填充到表格中。 Step 6:保存Word文档 使用Aspose.Words.Document对象的Save方法保存Word文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值