- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在制作一个 MailMerge 文件并希望显示一个字符串列表。在过去,我使用了一个对象列表(例如 Customer
)并且能够在 Word-doc 中包含这样的内容:
{{ #foreach Customers }}
{{Name}}
{{Address}}
{{ /foreach Customers }}
但是现在,我有一个 strings
列表而不是 Objects,我只是想显示它们:
{{ #foreach List }}
{{???}}
{{ /foreach List }}
那么, 应该做什么???
。或者我应该将 #foreach List
更改为类似于 .NET C# 中的 foreach 的内容,即 {{ #foreach value in List }}
或类似内容?
老实说,我一般找不到很多关于 MailMerge 的信息,在 MS Word 文档中也找不到关于 foreach 的信息。
如果这不可能,我想我必须将字符串放入容器类中?喜欢:
public class StringContainer
{
public string String { get; set; }
}
和
{{ #foreach List }}
{{String}}
{{ /foreach List}}
编辑:
我们使用 Aspose.Words
(.MailMerge
& .MailMerging
) 将我们的数据对象转换为 MS Word 中的数据医生。下面是转换代码:
private static byte[] GenerateDocument(Stream template, DocumentDataSource dataSource, SaveOptions saveOptions, IFieldMergingCallback fieldMergingCallback = null)
{
var doc = new Document(template);
doc.MailMerge.FieldMergingCallback = fieldMergingCallback;
doc.MailMerge.UseNonMergeFields = true;
doc.MailMerge.CleanupOptions = MailMergeCleanupOptions.RemoveContainingFields |
MailMergeCleanupOptions.RemoveUnusedFields |
MailMergeCleanupOptions.RemoveUnusedRegions |
MailMergeCleanupOptions.RemoveEmptyParagraphs;
doc.MailMerge.Execute(dataSource);
doc.MailMerge.ExecuteWithRegions((IMailMergeDataSourceRoot)dataSource);
doc.UpdateFields();
using (var ms = new MemoryStream())
{
doc.Save(ms, saveOptions);
return ms.ToArray();
}
}
这里是我们如何使用它的示例:
public byte[] CreateLetter(string filePath, string fileName, OurDataObject data)
{
var path = Path.Combine(filePath, fileName);
using (var fs = File.OpenRead(path))
{
var dataSource = new DocumentDataSource(data);
return GenerateDocument(fs, dataSource, new OoxmlSaveOptions(SaveFormat.Docx));
}
}
最佳答案
我建议你使用Aspose.Words LINQ Reporting Engine达到您的要求。
LINQ 报告引擎的典型模板由通用文档内容和描述模板结构和数据绑定(bind)的标记组成。您可以仅使用可占据多个段落的连续文本来形成这些标签,以更具描述性。
标签体必须满足以下要求:
标签体通常由以下元素组成:
<< tag_name [表达式] –switch1 –switch2 ... >>
特定标签可以有额外的元素。一些标签需要关闭对应物。结束标记在其名称之前有一个“/”字符。此标签的名称必须与相应开始标签的名称相匹配。
<>
注意 – 标记主体元素区分大小写。
请阅读this链接并检查以下代码示例。希望这对你有帮助。
DocumentBuilder builder = new DocumentBuilder();
builder.Write("The items are: <<foreach [item in items]>><<[item]>>, <</foreach>>and others.");
Document doc = builder.Document;
ReportingEngine engine = new ReportingEngine();
engine.BuildReport(doc, new string[] { "Item1", "Item2", "Item3" }, "items");
doc.Save(MyDir + "out.docx");
我在 Aspose 工作,担任开发人员布道师。
关于c# - MailMerge #foreach 使用 Aspose.Words 的字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33436664/
我正在使用 Aspose 来处理 PDF 和 Word 文档。每次我要对文档做一些事情时,我一定要这样称呼: Aspose.Pdf.License pdfLicense = new Aspose.Pd
我们有一个报告项目,我们在其中使用 .NET 框架动态创建 Excel 报告。使用的不同组件是 System Namespace、Aspose.Cell 和 Aspose.Excel 我们有一份报告,
我的 excel 有数百万条记录(大约 1.1M),当我尝试使用 WorkSheet.Cells[row,cloumn] 逐个单元格读取时,速度非常慢。 相反,如果我使用 WorkSheet.Cell
在WEB项目中经常遇到excel文档在线预览的需求,基本的解决思路有以下几大类:excel文档转PDF、excel文档直接转html、后台读取excel数据返回给前端利用Excel效果的表格插件如
本文实例为大家分享了Aspose.Cells导出excel文件的方法,供大家参考,具体内容如下 ?
在 Aspose 和电子表格设备中,在将数据从数据库传输到 Excel 以及使用 C# 在 Excel 工作表中读取数据时,哪一个是最好的,或者还有其他更好的建议。这还应该包括通过 C# 应用条件格式
我们正在使用 Aspose PDF 并面临以下问题,这些问题有点令人讨厌: Aspose PDF 不会释放内存。我们已将 object 设置为 null 但它们不释放内存。结果 - 在我的 Web 服
我在设置包含“&”之类的网页标题文本时遇到了问题。 pdf中“&”后的文本消失了,可能是因为它是 Aspose 中的保留键。我的代码如下所示: PageSetup pageSetup = workb
我想生成第一页的缩略图。尝试生成以下页面,无法打印具有良好分辨率的图像,应该在缩放时显示具有良好分辨率的图像。即使我们可以选择打印前几列的缩略图也可以。请提出建议。 Workbook book = n
当我必须将 Word 文档转换为 png 图像时,我遇到了问题。 word文档里面有一个条形码(我已经附加了word进行转换)。使用 aspose 10.5,生成的 png 可以完美打印条形码,并且可
我想使用 C# 读取 pdf 文件中包含的 pdf417 条码的内容。我写了下面的代码: [...] // bind the pdf document Aspose.Pdf.Facades.PdfEx
我正在使用 aspose cells、word 来处理 csv 文件并将其复制到 Word 模板中,最后将其转换为 Pdf。在开发环境中它就像一个魅力,但是在生产环境中我有一些像 ö 这样的字母,它不
在使用 Aspose 将 docx 文件转换为 pdf 文件时,我得到了这个heap size 错误。这是代码 这个 docx 文件是 44Mb public void convertDoc(Stri
我正在为 java 使用 aspose-words-15.6.0 api。我想根据页码将页面方向更改为纵向或横向。 场景: 我有一个包含 3 页的 doc,我希望页面方向如下: 第一页:肖像。 第二页
我正在使用这些 jar 文件将 excel 和 power point 文件转换为 PDF aspose.slides-6.7.0.jar aspose.slides-6.7.0-jdk14.jar
最近遇到一个需求,要能够读取受密码保护的Excel内容,之前都是直接读取Excel中的数据,不需要做任何其他的处理. 当Excel双击的时候,需要输入密码,在使用Aspose.Cells 组件读取
我正在尝试为单元格的背景添加颜色,如下所示: style.BackgroundColor = Color.LightBlue; style.Pattern = BackgroundType.Solid
我正在尝试遍历数据集,使用Aspose.Words 邮件合并功能为每个项目创建一个页面。下面的代码循环遍历 Dataset - 并将一些值传递给 Mail-Merge Execute 函数。 var
我正在使用 aspose-slides-17.3-jdk16.jar for java。我想自定义 PPT 中幻灯片的页面设置。 任何帮助将不胜感激。 最佳答案 我观察到您使用 Aspose.Slid
我正在尝试遍历数据集,使用Aspose.Words 邮件合并功能为每个项目创建一个页面。下面的代码循环遍历 Dataset - 并将一些值传递给 Mail-Merge Execute 函数。 var
我是一名优秀的程序员,十分优秀!