我试图找到从类似于Excel文档的文件中读取数据的最佳方法。它不一定需要是一个实际的Excel文档,只是允许您以网格格式输入数据的任何文件。 我可以做类似的操作:
String val = file.readString(column,row);
float val2 = file.readFloat(column,row);
对不起,在我发布问题之前,我通常会尝试做更多的研究,但我很难找到很多信息。我看到的很多是第三方库,它们读取excel文件。我真的希望如果可能的话我可以避免下载库并希望使用内置库。
所以我想我的问题很简单: 什么是最合适的文件格式? 从该文件中读取数据的最佳方法是什么?
答案 0 :(得分:1)
选项1
将您的数据存储为CSV并使用任何类型的阅读器(例如BufferedReader)进行阅读。如果您想使用Excel / LibreOffice输入数据,这可能是最简单,最快速的解决方案。
请查看these threads various solutions的答案。
String csvfile = path;
BufferedReader br = null;
String line = "";
String cvsSplitby = ";";
try {
br = new BufferedReader(new FileReader(csvfile));
while ((line = br.readLine()) != null) {
String[] i = line.split(cvsSplitby);
// do stuff
}
} catch (all kind of exceptions e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
希望我没有错过任何重要的事情。
选项2
使用POI Apache。
选项3
我已经使用JXL获得了不错的体验,但我知道你并不想要包含太多的外部库。 (我刚看到它还没有更新。请考虑其他选项!)
答案 1 :(得分:1)
我想到的第一件事是CSV。 CSV文件只是具有.csv
文件扩展名的常规文本文件。数据以这种格式存储:
cell,anothercell,athirdcell
anotherrow,anothercellonthenewrow,thirdcellofsecondrow
有关更多细节,请阅读CSV规范here。