我正在尝试从几个自动生成的 Excel 表中导入多个工作表,然后连接成一个更大的文件。问题是第一行包含没有批次/批次/等的“空白”数据。信息,并且 Excel 单元格的格式为“常规”。接下来的三列对于“空白”是空的,但对于所有其他行(样本)都是满的。第一个(批次)始终作为文本正确导入,第三个(填充体积)作为连续正确导入...但是包含很多#(以字符开头)或实验样本 ID 的中间行始终作为清空文本信息的数字。 我知道在向导中你可以改变列格式......但是因为它以数字开始它已经杀死了内容所以我最终得到空白单元格。 因此,如果我可以将所有文件作为完全文本引入,然后进行后处理,那将是可以接受的,因为它会保留数据。
我看到了这个,但它并没有解决我的问题 - https://community.jmp.com/t5/Discussions/Force-Import-Format-of-Excel-columns/td-p/342394
我附上了一个示例文件 - 这可能只是目前不可能的事情。 只是想检查一下。
再次感谢 - 感谢提醒查看表源脚本!
有趣的发现 - 当我运行生成的脚本时,它会将第 3 列更改为字符,但它仍然是空的。 如果我转到附加的 Excel 文件并在第三列的空单元格中键入字母“A”并运行脚本,它会正确导入所有内容(列类型和内容),但是当我删除那个“A”并保存时...... . 再次重新运行脚本会产生一个空列。
再次感谢您的帮助,并为我提供了可玩的东西 - 看看他们是否可以调整表格自动生成系统以确保那些最上面的行不为空!
你好,
JMP 17 不会在导入操作后更改列类型。如果您运行从表中生成的源脚本,其中的列已被手动调整一次,您应该会再次看到它作为字符出现。 下面是一个脚本示例,其中常规列已更改为字符。
Open(
"$DESKTOP/Test Decimals Horizontal.xlsx",
Worksheets( "Sheet1" ),
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( 1317 ),
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( "-" ),
Column Numeric Format(
Index( 1 ),
Column Name( General ),
Datatype( "Character" )
),
Column Numeric Format(
Index( 2 ),
Column Name( Number 0 ),
Format( "Best", 9 )
)
)
)
谢谢布赖恩:
不幸的是,这些文件是在化学分析后自动生成的,每天几十个,所以手动调整是行不通的。显然我可以在 Excel VB 宏中做一些事情来进行更改 - 但我试图尽可能避免双重脚本。
并同意 JMP 17EA,但它允许进行更改但不会“重新导入”,而只是调整它已经导入的表的类型——换句话说,因为它预先确定它是数字,所以它被删除了所有这些单元格中的数据。 听起来我需要去“愿望清单”一趟:)
你好,
您是否尝试过进入 Excel 并将整个列(Lot?)更改为 Text 而不是 General?这可能允许您始终将其作为角色引入。
JMP 17 添加了在 Excel 向导中将列类型更改为字符的功能。如果您参加了 Early Adopter 计划,则可以在那里试用。
我希望这有帮助,
布赖恩·科科伦
JMP开发