Можете ли вы открыть / сохранить книгу с помощью JExcel по неопределенному пути? - PullRequest
0 голосов
/ 23 марта 2012

Я использую JExcel для записи в Excel Worksheets с моим Java-приложением. При создании или чтении из файла я смог сделать это только по определенному пути:

Workbook samWB = Workbook.getWorkbook (новый файл ("C: /eclipse/samples.xls")); Sheet samWS = samWB.getSheet (0);

Однако мне нужно иметь возможность взять свое приложение и поместить его в разные места на сервере и иметь файлы данных, из которых я буду читать и записывать, в дочернюю папку текущего расположения приложений. Как то так:

Workbook resWB = Workbook.getWorkbook (новый файл ("/ data / residual.xls")); Sheet resWS = resWB.getSheet (0);

Где папка «data» находится внутри папки, из которой запущено приложение. Я пробовал несколько разных способов и пытался искать в Руководстве для программистов JExcel, но я продолжаю получать ошибки, и все примеры в Руководстве используют путь "C: / ...".

Есть ли в любом случае, чтобы сделать это?

1 Ответ

0 голосов
/ 23 марта 2012

Я сделал консольное приложение, чтобы проверить вашу неопределенную проблему относительного пути. Это структура моего проекта:

MyProject
+  src
   +  edu.home
      + Main.java
+  tmpFiles

В классе Main.java у меня есть простой код:

public static void main(String[] args) {
    File f = new File("tempFiles/newFile.txt");
    try {
        f.createNewFile();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
}

При запуске программы структура папки tmpFiles выглядит следующим образом:

tmpFiles
+ newFile.txt

Итак, вы можете создать папку для управления файлами в вашем приложении. Эти файлы могут быть файлами Excel, файлами данных и т. Д., И путь будет указываться относительно местоположения приложения. В Eclipse IDE, с которой я сейчас работаю, базовый путь был C: \ Workspace, поэтому файл был создан здесь:

C:\Workspace\MyProject\tmpFiles

Когда я переместил проект в D: \ Java \ test \ anotherWorkspace, файл был создан здесь:

D:\Java\test\anotherWorkspace\MyProject\tmpFiles
...