[英]Issue while running Java code through terminal
我正在嘗試制作示例程序來運行Excel(xlsx)電子表格並將數據加載到二維數組中。我已經用Google搜索並找到了一些好的示例。 但是我面臨的問題是,雖然我從eclipse運行代碼時它工作正常,但它沒有通過Terminal運行。
在這里,我附加了通過終端運行代碼時遇到的錯誤的屏幕截圖:-
我使用的代碼是:-
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();
}
}
}
我在此演示中使用的罐子如下:-
任何幫助將不勝感激,
謝謝。
首先, javac
用於編譯,如果嘗試使用它,則需要指定類路徑。 我認為它不是您想要的,您想運行它而不編譯正確嗎? 從命令行運行它的最簡單方法是:
使用Eclipse“導出可運行的jar”工具創建“可運行的jar”(項目-> export-> java->可運行的jar文件->選擇包含要運行的main()的正確類的鼠標右鍵, 請選擇選項“將所需的jar拷貝到目標jar的文件夾中 。”然后通過從控制台進入dest jar文件夾並調用來運行它:
java -jar yourDestJarName.jar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.