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

How to import import org.apache.poi.ss.usermodel.Row error?

我正在尝试使用 Apache

将数据写入 Excel

我参考这个 link:https://www.mkyong.com/java/apache-poi-reading-and-writing-excel-file-in-java/

单元格和行未导入

这是我的javaclass代码:

我下载Apache jar file 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'
}

尝试以下代码

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();

    }

简单 您需要添加 jar 文件

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

转到此 link 下载 jar 文件 将其添加到您的 lib 文件夹中。

试试这个:

在上面的代码中,使用 XSSFRow 而不是 Row:

XSSFRow = sheet.createRow(rowNum++);