如何导入导入org.apache.poi.ss.usermodel.Row错误?

时间:2017-09-19 07:06:40

标签: java android excel apache maven-jar-plugin

我想使用Apache

将数据写入Excel

我引用此链接:Makefile with STXXL

单元格和行未导入

https://www.mkyong.com/java/apache-poi-reading-and-writing-excel-file-in-java/

这是我的java类代码:

Cell and Row are not Importing

我下载enter image description here

我的java代码如下:

 try {
            String FILE_NAME = "/tmp/MyFirstExcel.xlsx";
            XSSFWorkbook workbook = new XSSFWorkbook();
            XSSFSheet sheet = workbook.createSheet("Datatypes in Java");
            Object[][] datatypes = {
                                  {"Datatype", "Type", "Size(in bytes)"},
                                  {"int", "Primitive", 2},
                                  {"float", "Primitive", 4},
                                  {"double", "Primitive", 8},
                                  {"char", "Primitive", 1},
                                  {"String", "Non-Primitive", "No fixesize"}
                          };
                int rowNum = 0;
                System.out.println("Creating excel");

                          for (Object[] datatype : datatypes) {
                              Row row = sheet.createRow(rowNum++);
                              int colNum = 0;
                              for (Object field : datatype) {
                                  Cell cell = row.createCell(colNum++);
                                  if (field instanceof String) {
                                      cell.setCellValue((String) field);
                                  } else if (field instanceof Integer) {
                                      cell.setCellValue((Integer) field);
                                  }
                              }
                          }
                          FileOutputStream outputStream = new FileOutputStream(FILE_NAME);
                          workbook.write(outputStream);
                          workbook.close();


                      } catch (IOException e) {
                          e.printStackTrace();
                      }
}

Build.gridle

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    androidTestCompile 'com.android.support:support-annotations:26.+'
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:design:26.+'
    compile 'com.android.support:support-v4:26.+'
    compile 'com.squareup.retrofit2:retrofit:2.0.2'
    compile 'com.squareup.okhttp3:logging-interceptor:3.0.1'
    compile 'com.android.support:cardview-v7:25.2.0'

    testCompile 'junit:junit:4.12'
}

3 个答案:

答案 0 :(得分:2)

尝试以下代码

String filepath = "/tmp/MyFirstExcel.xlsx";

    FileInputStream fis;

    fis = new FileInputStream(filepath);

    XSSFWorkbook workbook = new XSSFWorkbook(fis);
    XSSFSheet sheet = workbook.getSheetAt(0);

    Iterator<org.apache.poi.ss.usermodel.Row> rowIterator = sheet.iterator();

    while (rowIterator.hasNext()) {

        Row row = rowIterator.next();

        row.getCell(0).getStringCellValue();

    }

答案 1 :(得分:2)

简单您需要添加 jar 文件

https://mvnrepository.com/artifact/org.apache.poi/poi/3.9

转到此链接下载 jar文件将其添加到 lib 文件夹中。

答案 2 :(得分:0)

尝试一下:

在上面的代码中,使用XSSFRow代替Row:

XSSFRow = sheet.createRow(rowNum++);