你好,
有没有办法修改现有的 EXCEL 文件(单个特定行)并将其保存回 jmp 的原始文件夹中?
任何帮助,将不胜感激。
谢谢你!
如果您使用的是 Window 操作系统并且了解一点 VBscript,则可以使用“运行程序”来完成此操作。
附加的脚本使用 wscript (据我所知总是在 Windows 操作系统上)。它打开 Big Class,然后将其另存为要模拟的 Excel,即现有的 Excel 工作簿。
简单的 VBscript 会更改 E3 行的值并将单元格着色为黄色。该脚本使用 JSL 编写 VBscript,但是该脚本可能存在,并且只能从 JMP 或许多其他方法执行。
JMP 使用 wscript 来执行保存的 VBscript。这是更新工作簿而不丢失 Excel 的其他功能的一种选项。
本着授人以渔而不是授人以渔的精神,我将为您指出正确的方向。第一步是让 JMP 编写脚本来导入表。手动导入 Excel 文件之一,如有必要,请使用 Excel 导入向导。生成的表将有一个标题为“Source”的脚本,其中包含用于导入 Excel 文件的脚本。它可能看起来像这样:
Open(
"filename.xlsx",
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
这是您自己的脚本的开始。将其复制到脚本窗口。要在导入的 Excel 文件中的数据表上放置句柄,只需在“Open(”之前放置一个“=”。
接下来,您需要对表内容进行任何修改。您可以访问所需行和列中的特定值,并使用如下方式设置该值:
dt:<COLNAME>[<ROW number="">] =<DESIRED value=""></DESIRED></ROW></COLNAME>
如果列名有任何特殊字符,则使用 dt:Name(" ”)[ ]。
最后,您需要导出结果。社区上还有一些其他帖子可引导您以 .xlsx 格式保存 JMP 表。这是最近的一篇: https://community.jmp.com/t5/Discussions/Saving-Data-Table-to-Excel-format/td-p/40392
我强烈鼓励您尝试自己将各个部分组合起来。这是您精通脚本编写的唯一方法。如果您确实在任何特定部分上遇到困难,我们随时为您提供帮助。
您可以导入 Excel 文件,进行修改,然后导出回 xlsx 格式,但这样做会丢失任何 Excel 特定的功能。仅当您的电子表格仅包含列标题和数据而没有公式、特殊格式等时,这才有效。