2 回答

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊
OpenXML SDK 沒有提供這樣的東西,但基本上你需要的正是你提到的。您首先需要將數(shù)據(jù)解析為Double
or DateTime
,然后ToString
通過傳遞在 MergeField 中指定的格式參數(shù)來調(diào)用它們。
但是,以防萬一您感興趣,OpenXML SDK PowerTools 有一個DocumentAssembler模塊,它執(zhí)行類似的操作,它通過組合模板文檔和數(shù)據(jù)源生成結(jié)果文檔。但在這種情況下,模板文檔具有內(nèi)容控件或僅具有特定語法(而不是 MergeFields)的自定義文本占位符,并且數(shù)據(jù)以 XML 格式(而不是 JSON)提供。
盡管如此,如果您仍然想利用郵件合并選項,那么您幾乎已經(jīng)涵蓋了 MergeFields 中可用的所有開關(guān)。
唯一剩下的就是添加對與郵件合并相關(guān)的更多字段的支持,具體取決于您的確切要求(如 INCLUDEPICTURE、INCLUDETEXT、MERGESEQ、MERGEREC、NEXT 等)。
此外,對某種形式的郵件合并分組的支持將是相當(dāng)有益的。有了這個,您將能夠在某個合并范圍內(nèi)合并多個記錄。
例如,假設(shè)您定義了一個應(yīng)根據(jù)您的記錄重復(fù)和填寫的內(nèi)容,例如具有一些 MergeFields 的單個表行。然后,通過支持此功能,您將能夠為某些 JSON 數(shù)組中的每個項目動態(tài)生成新行,并且每一行都將具有來自其項目的適當(dāng)數(shù)據(jù)。
我希望這能給你一些想法。

TA貢獻(xiàn)1815條經(jīng)驗 獲得超10個贊
在我發(fā)表評論之后......我確實想知道 string.ToString() 是否超載,所以進(jìn)一步查看。
雖然 string.ToString() 沒有重載,但 double 有...所以,將數(shù)字字符串轉(zhuǎn)換為 double,然后將 .ToString 轉(zhuǎn)換為所需的數(shù)字格式。
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings
謝謝你看。
- 2 回答
- 0 關(guān)注
- 320 瀏覽
添加回答
舉報