無效字符導致SaveInteractiveHTML()生成不完整的報告想知道是否有一些現有的功能來處理這個問題。
我有一個JSL,它根據從Oracle查詢的數據製作一個包含表格的報告。 該報告在JMP中看起來很好(這是JMP12.1)但是當我使用SaveInteractiveHTML()時,它給出了一個不完整的報告和錯誤“...... PCDATA無效字符值11 ......“。 我可以告訴哪個字段是問題,因為它確實將表格製作成文本單元格,即使應該存在的字符串似乎沒有任何奇怪的字符。
使用ChartoHex對該字符串的每個字符進行的進一步研究確實顯示它包含一個不可見的字符ASCII 11或十六進制“0B”,顯然是“垂直製表符”。
我更新了我的腳本,以查看此特定列的值,查找此特定字符的存在並將其剝離。 但據推測,這只是許多可能出現的非法角色中的一個,而不是與HTML(?)一起工作,也許它們可能會出現在其他專欄中,雖然這似乎是一個怪異的事件,所以我應該萬無一失這是我所有交互式HTML報告中的所有字符列。 無論如何,想知道是否有一些現有的JSL函數可以清除字符串以使它們與HTML函數一起工作,構建哪些字符合法或非法?
Re:導致SaveInteractiveHTML()生成不完整報告的無效字符別客氣。 @Craige_Hales 幫助Regex命令。很高興我們可以提供幫助。
Re:導致SaveInteractiveHTML()生成不完整報告的無效字符謝謝!實現了這一點。 感覺更好地剝離“所有”潛在的問題角色。
Re:導致SaveInteractiveHTML()生成不完整報告的無效字符在HTML中,ascii代碼低於32或十六進制代碼從“00”到“1F”的不可打印字符無效。
我不知道現有的JSL腳本會刪除這些字符,但是可以在新列中使用以下列公式來替換名為“name”的列中的字符串中的空格字符的無效字符:
Regex(:name, "[\x00-\x1F]+", " ", GLOBALREPLACE)
如果您需要幫助以適應您的腳本,請告訴我。
〜約翰