[英]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.