簡體   English   中英

如何使我的Java程序接受命令行中提供的excel文件?

[英]How do I make my java program to accept an excel file given in the command line?

當我將其作為可執行jar文件運行時,我想讓程序接受命令行中給出的文件名。 在下面的代碼中,我將文件名硬編碼為report.xlsx。 例如,我希望它使用命令java -jar Vnp.java fileName.xlsx接受文件。

  public ArrayList < String > getReports() throws IOException { ArrayList < String > reports = new ArrayList < String > (); FileInputStream fis = new FileInputStream(new File("reports.xlsx")); workbook = new XSSFWorkbook(fis); sheet = workbook.getSheet("sheet1"); int rowCount = sheet.getFirstRowNum() + sheet.getLastRowNum() + 1; reportCount = rowCount; int colCount = sheet.getRow(0).getLastCellNum(); if (colCount > 1) { System.out.println("The number of columns are more than 1. Please input only one column with the report keys"); } else if (colCount == 1) { System.out.println("Number of reports given: " + rowCount); for (int rNum = 1; rNum <= rowCount; rNum++) { for (int cNum = 0; cNum < colCount; cNum++) { reports.add(getCellData("sheet1", cNum, rNum)); } } } return reports; } 

只需將字符串參數添加到文件名的方法中

public ArrayList < String > getReports(String filename) throws IOException {
     ArrayList < String > reports = new ArrayList < String > ();
        FileInputStream fis = new FileInputStream(new File(filename));
     ...........
}

如果從main調用,則傳遞第一個索引:

public static void main(String a[]){
  if(a.length == 0)//check if command line args passed
   System.exit(0);//if not then exit
  ArrayList<String> list = obj.getReports(a[0]);
}

你可以試試這個嗎? 這是工作
https://www.callicoder.com/java-read-excel-file-apache-poi/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM