Чтение файлов ODS в java с помощью eclipse

Я хотел бы создать простой код Java, который может читать файл ODS и сохранять содержимое его ячеек в виде текстовых строк. Это все. Я очень новичок в этом, поэтому я застреваю на основных ошибках.

Я установил Eclipse, скачал Apache POI. Я думаю, что успешно добавил его в свой проект Eclipse (по крайней мере, я вижу файлы .jar в моем проекте в проводнике проекта.

Я нашел этот кусок кода здесь:

import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFClientAnchor; import org.apache.poi.hssf.usermodel.HSSFComment; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFPatriarch; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor.HSSFColorPredefined;


try {   POIFSFileSystem fs;     fs = new POIFSFileSystem(new FileInputStream(C:\TableauConjugaison.ods));
    HSSFWorkbook wb = new HSSFWorkbook(fs);
    HSSFSheet sheet = wb.getSheetAt(0);
    HSSFSheet sheet2 = wb.getSheetAt(1);
    HSSFRow row;
    HSSFCell cell;

    int rows; // No of rows
    rows = sheet.getPhysicalNumberOfRows();

    int cols = 0; // No of columns
    int tmp = 0;

    // This trick ensures that we get the data properly even if it doesn't start from first few rows
    for(int i = 0; i < 10 || i < rows; i++) {
        row = sheet.getRow(i);
        if(row != null) {
            tmp = sheet.getRow(i).getPhysicalNumberOfCells();
            if(tmp > cols) cols = tmp;
        }
    }

    for(int r = 0; r < rows; r++) {
        row = sheet.getRow(r);
        if(row != null) {
            for(int c = 0; c < cols; c++) {
                cell = row.getCell((short)c);
                if(cell != null) {
                    // Your code here
                }
            }
        }
    } } catch(Exception ioe) {
    ioe.printStackTrace();
     }

Итак, я попытался поместить это в eclipse, я нажал кнопку «Выполнить», выбрал приложение node.js (не серверное) и получаю следующую ошибку:

C:\Users\Olivier\workspace\Translation\WebContent\ExtractODS.js:3
    POIFSFileSystem fs;
                    ^^
SyntaxError: Unexpected identifier
    at Object.exports.runInThisContext (vm.js:76:16)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

Я почти уверен, что мне здесь не хватает многих основных вещей, но я полностью потерян. Может ли кто-нибудь провести меня через основные шаги, чтобы сделать это? Я потратил 6 часов на поиск решения, но то, что мне не хватает, так и не было объяснено.

Заранее спасибо.


person GenevensiS    schedule 14.03.2017    source источник
comment
Java и JavaScript даже близко не одно и то же. Показанный код является Java. Исходный файл Java должен быть правильно структурирован; вы не можете просто свалить в него кучу утверждений. Даже если бы это был JavaScript, fs — это встроенный модуль среды выполнения node.js, поэтому его не рекомендуется использовать для чего-либо еще.   -  person nitind    schedule 15.03.2017
comment
спасибо за ваш комментарий, но я ничего не понял из того, что вы сказали.   -  person GenevensiS    schedule 15.03.2017
comment
На каком языке это должно быть написано?   -  person nitind    schedule 15.03.2017
comment
Связано: * Java: stackoverflow.com/questions/46468272/ * JavaScript: stackoverflow.com/questions/64842218/   -  person Stefan    schedule 15.11.2020