我发现了一个很棒的库,叫做Jackcess,它允许您使用 Microsoft Access 进行转换、解析创建等。
目的是转换,此代码成功地完成了转换。
导出时有一个过滤器功能,这可以在下面的文档链接中看到。目的是使用前 3 列,排除其余数据。
应用过滤器对象不起作用,有没有人知道是否还有其他需要先得到的东西...... *在这里挠我的头*
public void db_dump(String mdbFile, String outputDir) {
File file = new File("/Users/testUser/Downloads/example.mdb");
if(file != null) {
File outDir = new File("/Users/testUser/Desktop/output123");
boolean success = outDir.mkdir();
if (success) {
Database db = null;
try {
db = DatabaseBuilder.open(file);
Table t = db.getTable("MappedCHTCP");
List<Column> cols = new List<Column>()
@Override methods for list ommited .... size(), contains(), etc
System.out.println(t.getColumns());
// cols.add(0,t.getColumn("word"));
for (Column c : t.getColumns()) {
if((c != null) && (c.getColumnIndex() < 3)) {
System.out.println(c.getName());
cols.add(c);
}
}
SimpleExportFilter ef = new SimpleExportFilter(); //THIS IS THE PROBLEM
ef.filterColumns(cols);
File csvFile = new File(outDir+File.separator+"MappedCHTCP.csv");
ExportUtil.exportFile(db, "MappedCHTCP", csvFile, false, null, '"',ef); //NOT ABLE TO APPLY FILTER
} catch (IOException e) {
e.printStackTrace();
}
}
}
}