您好,该网站的新手,如果已经回答,请原谅我。我可以导入 Excel 工作簿并只导入第一个工作表而不知道工作表的名称吗?
我正在尝试遍历多个 excel 文件并只导入每个文件的第一张表。
谢谢彼得,我想遍历几个不同的工作簿,其中每个工作簿中第一张纸的名称可能不同,所以我需要一个解决方案来只从每个文件中获取第一张纸。一旦我这样做了,我就可以从每张纸上切分出我需要的数据。
谢谢!
或者,除非我遗漏了什么,否则请使用 JMP 中的 Excel 导入向导,您可以在向导窗口右上角的工作表列表窗口中看到工作表列表。 该列表按照工作簿中工作表的顺序排列。 从那里选择第一张纸。 使用该向导的一个优势是灵活的导入设置,以防您的工作表不是 JMP 中“准备好使用”的形式。 例如,您可能希望将工作表中的多行合并到 JMP 列名称中。 易于在向导的上下文中组合。 以下是与 JMP Excel 导入向导关联的 JMP 在线文档的链接:
http://www.jmp.com/support/help/13-2/Import_Microsoft_Excel_Files.shtml#
您可以使用该函数发现工作表名称(“选项卡名称”)获取 Excel 工作表.这将返回一个列表 - 因此列表中的第一项将是文件中出现的第一个工作表。
@iamerica ,
对于您想要的东西,我可能没有直接的解决方案 - 但是,我认为有一个迂回 - 我绝对可以提供的不是有效的解决方案。
如果您知道前面的选项卡名称,您可以这样做。
Open(
FilePath,
Worksheets(TabName ),
Use for all sheets( 0 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 2 ),
Data Starts on Row( 3 ),
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( "-" )
)
)
如果你不这样做,那么你可以打开所有的表并关闭你不需要的表。
openDTs = List(); // Initiate empty list
For( i = 1, i <= N Table(), i++,
Insert Into( openDTs, Data Table( i ) );
If(i != 1,
Close(Data Table(i),"No Save");
);
);