我正在尝试使用示例程序来运行excel(xlsx)电子表格并将数据加载到二维数组中。我使用Google搜索并找到了一些好样本。 但是我面临的问题是,当我运行eclipse中的代码时,虽然它工作正常但它没有通过终端运行。
这里我附上了通过终端运行代码时遇到的错误的屏幕截图: -
我使用的代码是: -
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();
}
}
}
我在本演示中使用的罐子如下: -
任何帮助将不胜感激,
感谢。
答案 0 :(得分:1)
首先,javac
用于编译,如果您尝试使用它,则需要指定classpath。我认为它不是你想要的,你想运行它而不是正确编译它?从命令行运行它的最简单方法:
使用eclipse“Export runnable jar”工具创建“runnable jar”(项目上的鼠标右键 - > export-&gt; java-&gt; runnable jar文件 - &gt;选择包含main()的正确类要运行,请选择“将所需的jar文件复制到目标jar旁边的文件夹”。然后通过从控制台输入dest jar文件夹并调用来运行它:
java -jar yourDestJarName.jar