Apache MetaModel DataContext.getDefaultSchema不起作用

时间:2017-03-14 15:16:15

标签: java excel apache-metamodel

我目前正在使用Apache的MetaModel 4.6.0 API for Java 1.8。我无法获取我想要使用的DataContext的默认架构。以下是我的代码片段:

private DataContext dataContext;
private Schema schema;
private Table table;

/**
 * @brief Constructor that takes in an excel file
 * @detail Creates a schema for the excel file to be easily queried
 * @param excelFile 
 */
public ExcelQuery(File file)
{
    dataContext = new ExcelDataContext(file);
    schema = dataContext.getDefaultSchema();
    table = schema.getTables()[0];
}

当它到达这一部分时:

schema = dataContext.getDefaultSchema();

代码只是暂停尝试执行此操作。有什么想法会发生这种情况吗?

我的目标是能够使用此API查询excel文件。我已经看到很多例子都这样做并且有效,但似乎无法重新创建它。

1 个答案:

答案 0 :(得分:0)

正如您所说的DataContext.getDefaultSchema不起作用尝试使用

打印所有架构
Schema[] schema = dc.getSchemas();

然后尝试正确的schemaName。

Schema schema = dc.getSchemaByName(schemaName);