3136_zh-CN
[已解决] 将 JMP 表输出到 Excel 工作表假设我有 4 个 JMP 表 dt1、dt2、dt3 和 dt4。 我希望每个表都输出到新 Excel 文件中自己的工作表(选项卡)。 有人可以指出我正确的方向吗?
谢谢,
账单
消息编辑者:Bill E回复:将 JMP 表输出到 Excel 工作表账单,
很高兴这对你有用。 我不知道有人能做到这一点!
有人解决了将数据集保存为 Excel 电子表格时 ODBC 驱动程序将表格单元格截断为 255 个字符的问题吗? JMP 8、9 中的 .XLS 和 .XLSB 文件具有此“功能”。
谢谢,
彼得回复:将 JMP 表输出到 Excel 工作表谢谢彼得。 我想我已经找到了一种本地执行此操作的方法。 经过几个小时的谷歌搜索 jmp、excel、odbc 等的各种排列后,我偶然发现了以下 ap 注释:
http://www.jmp.com/support/notes/17/582.html
我运行了以下代码片段:
myPath = "C:\帕累托历史\";
我的名字 = "CGTRUNK1";
dt = 数据表(myName);
fn = myPath ||我的名字 || “.xls”;
dt << 保存(fn);
这创建了一个名为 CGTRUNK1.xls 的文件,其中包含 1 个名为 CGTRUNK1 的工作表,并且日志生成以下信息:
DSN=Excel 文件;DBQ=C:\Pareto 历史记录\CGTRUNK1.xls;DefaultDir=C:\Pareto 历史记录\;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
正如 ap 注释所建议的,我将整个字符串用引号引起来,并将其插入到保存数据库命令中,后跟所需工作表的名称,如下所示:
dt << 保存数据库("DSN=Excel 文件;DBQ=C:\Pareto History\CGTRUNK1.xls;DefaultDir=C:\Pareto History\;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;","foo" );
当我运行此行时,它在原始文件中创建了第二个名为 foo 的工作表。 自从我学会了如何拼写 c++ 以来,我还没有这么为自己感到骄傲过
问候,
账单回复:将 JMP 表输出到 Excel 工作表不知道是否可以直接开箱即用。 我很感兴趣是否有人已经弄清楚了。
如果 JMP 本身无法完成此操作,您可以使用 Excel XML 2003 格式对其进行逆向工程。 我们通常使用 PL/SQL 执行此操作。 您要做的就是在 Excel 中创建一个 4 选项卡 Excel 电子表格示例,然后使用以下格式将其另存为 XML 文件:XML Spreadsheet 2003 (*.xml)。 不要使用 XML 数据 (*.xml) 格式,因为它需要 XML 映射。
接下来,您使用 JSL 输出一个 ASCII 文件,该文件的格式与您刚刚创建的文件的格式完全相同。 当然,单元格内容会有所不同,但结果将是一个 XML 文件,您可以双击在 Excel 中打开,其中包含您需要的四个选项卡。 第一次做的时候会有点复杂,但是一旦掌握了窍门,效果就会很好。
需要注意的一件事 - 在 JMP 8 和 9 中,当您将数据集另存为 Excel 文件(*.xls、*.xlsb)时,JMP 将截断包含超过 256 个字符的单元格。 这是因为 JMP 使用 ODBC 进行导出,这是 ODBC 的限制。 如果 JMP 能够克服这个限制那就太好了。
问候,
彼得回复:将 JMP 表输出到 Excel 工作表应该提到我正在使用 JMP8 并且想通过脚本来完成此操作。
Comments
There are no comments yet