Java:从Excel样式的文档中读取的最简单方法



我正在努力寻找从类似Excel文档的文件中读取数据的最佳方法。它不一定需要是一个真正的excel文档,只需要任何允许您以网格格式输入数据的文件。我可以进行类似操作的东西:

String val = file.readString(column,row);
float val2 = file.readFloat(column,row);

对不起,我通常会在这里发布问题之前做更多的研究,但我很难找到很多信息。我看到的很多都是读取excel文件的第三方图书馆。我真的希望如果可能的话,我可以避免下载库,并希望使用内置库。

所以我想我的问题简而言之是:最合适的文件格式是什么?从该文件中读取数据的最佳方式是什么?

我首先想到的是CSV。CSV文件只是具有.csv文件扩展名的常规文本文件。数据以以下格式存储:

cell,anothercell,athirdcell
anotherrow,anothercellonthenewrow,thirdcellofsecondrow

有关更多细节,请阅读此处的CSV规范。

选项1

将数据存储在CSV中,并使用任何类型的读取器(例如BufferedReader)进行读取。如果您想使用Excel/LibeOffice输入数据,这可能是最简单、最快的解决方案。

请查看这些线程中的答案,了解各种解决方案。

    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方面有一些不错的经验,但我知道您不想包含太多的外部lib。(我刚刚看到它已经有一段时间没有更新了。考虑其他选项!)

最新更新