2 回答
TA贡献1844条经验 获得超8个赞
OpenXML SDK 没有提供这样的东西,但基本上你需要的正是你提到的。您首先需要将数据解析为Double
or DateTime
,然后ToString
通过传递在 MergeField 中指定的格式参数来调用它们。
但是,以防万一您感兴趣,OpenXML SDK PowerTools 有一个DocumentAssembler模块,它执行类似的操作,它通过组合模板文档和数据源生成结果文档。但在这种情况下,模板文档具有内容控件或仅具有特定语法(而不是 MergeFields)的自定义文本占位符,并且数据以 XML 格式(而不是 JSON)提供。
尽管如此,如果您仍然想利用邮件合并选项,那么您几乎已经涵盖了 MergeFields 中可用的所有开关。
唯一剩下的就是添加对与邮件合并相关的更多字段的支持,具体取决于您的确切要求(如 INCLUDEPICTURE、INCLUDETEXT、MERGESEQ、MERGEREC、NEXT 等)。
此外,对某种形式的邮件合并分组的支持将是相当有益的。有了这个,您将能够在某个合并范围内合并多个记录。
例如,假设您定义了一个应根据您的记录重复和填写的内容,例如具有一些 MergeFields 的单个表行。然后,通过支持此功能,您将能够为某些 JSON 数组中的每个项目动态生成新行,并且每一行都将具有来自其项目的适当数据。
我希望这能给你一些想法。
TA贡献1815条经验 获得超10个赞
在我发表评论之后......我确实想知道 string.ToString() 是否超载,所以进一步查看。
虽然 string.ToString() 没有重载,但 double 有...所以,将数字字符串转换为 double,然后将 .ToString 转换为所需的数字格式。
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings
谢谢你看。
- 2 回答
- 0 关注
- 270 浏览
添加回答
举报