无效字符导致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)
如果您需要帮助以适应您的脚本,请告诉我。
〜约翰