我想讓示例程序運行excel(xlsx)電子表格並加載2維數組中的數據。我已經使用Google搜索並找到了一些好的示例。 但我面臨的問題是,它不是通過終端運行,雖然它運行良好,當我從eclipse運行代碼。通過終端運行Java代碼的問題
我在這裏安裝誤差的截屏,同時通過終端中運行的代碼我得到: -
我使用的代碼是: -
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelDemo {
public static void main(String[] args) {
ExcelDemo xread2 = new ExcelDemo();
}
public ExcelDemo() {
getvalue_1();
}
public static void getvalue_1() {
XSSFRow row;
XSSFCell cell;
String[][] value = null;
double[][] nums = null;
try {
FileInputStream inputStream = new FileInputStream(
"/home/ravi/Desktop/abc/Firebase/sid.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
// get sheet number
int sheetCn = workbook.getNumberOfSheets();
for (int cn = 0; cn < sheetCn; cn++) {
// get 0th sheet data
XSSFSheet sheet = workbook.getSheetAt(cn);
// get number of rows from sheet
int rows = sheet.getPhysicalNumberOfRows();
// get number of cell from row
int cells = sheet.getRow(cn).getPhysicalNumberOfCells();
value = new String[rows][cells];
for (int r = 0; r < rows; r++) {
row = sheet.getRow(r); // bring row
if (row != null) {
for (int c = 0; c < cells; c++) {
cell = row.getCell(c);
nums = new double[rows][cells];
if (cell != null) {
switch (cell.getCellType()) {
case XSSFCell.CELL_TYPE_FORMULA:
value[r][c] = cell.getCellFormula();
break;
case XSSFCell.CELL_TYPE_NUMERIC:
value[r][c] = ""
+ cell.getNumericCellValue();
break;
case XSSFCell.CELL_TYPE_STRING:
value[r][c] = ""
+ cell.getStringCellValue();
break;
case XSSFCell.CELL_TYPE_BLANK:
value[r][c] = "[BLANK]";
break;
case XSSFCell.CELL_TYPE_ERROR:
value[r][c] = "" + cell.getErrorCellValue();
break;
default:
}
System.out.print(value[r][c]);
} else {
System.out.print("[null]\t");
}
} // for(c)
System.out.print("\n");
}
} // for(r)
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
罐子對此我在本演示中使用如下: -
- dom4j.jar
- POI-3.9.jar
- POI-OOXML-3.5 FINAL.jar
- POI-OOXML-架構 - 3.7 beta1.jar
- 的xmlbeans-2.6.0.jar
任何幫助將不勝感激,
謝謝。
:包含在main()來運行類,請選擇「文件夾中需要的jar複製下一個目的地罐子」然後由控制檯和調用進入DEST JAR文件夾中運行它如果你正在使用庫,你也需要在編譯時將它們放在類路徑中。 –