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 關注
- 321 瀏覽
添加回答
舉報