我现在面临的问题是,我想导入一个excel文件并将其传递给另一个类,如下所示:
package cal;
import java.util.Scanner;
public class CalendarMain {
public static void main(String[] args) {
Scanner link = new Scanner(System.in);
System.out.println("Please insert the raw file link: ");
String excellink = link.nextLine();
link.close();
String[] excelLink = new String[] { excellink };
ShiftSetting.main(excelLink);
}
}
通过命令提示符编译并运行它没有问题,但当将原始文件链接粘贴到命令提示符并单击enter时,会出现以下错误:
C:\Users\User\eclipse-workspace\Calendar_v1\src>java cal.CalendarMain cal.ShiftSetting cal.PHNames
Please insert the raw file link:
C:\Users\User\Desktop\WORK\2019raw.xlsx
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Row
at cal.CalendarMain.main(CalendarMain.java:16)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Row
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
仅供参考,当我在Eclipse上运行它时,这个问题永远不会出现。但当我尝试在命令提示符下运行时,它会给我这个错误。第16行实际上是这一行:shiftseting。主(excelLink)
我还提供轮班设置。java文件
package cal;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ShiftSetting {
public static void main(String[] excelLink) {
ArrayList<String> shiftname = new ArrayList<String>();
ArrayList<String> shiftcode = new ArrayList<String>();
try {
FileInputStream file = new FileInputStream(new File("C:\\Users\\User\\Desktop\\WORK\\shiftnameall.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(file);
XSSFSheet sheet = wb.getSheetAt(0);
DataFormatter formatter = new DataFormatter();
String cellValue = null;
for (int rowNum = 0; rowNum < sheet.getLastRowNum() + 1; rowNum++) {
Row r = sheet.getRow(rowNum);
String val = null;
for (int m = 0; m < r.getLastCellNum(); m = m + 2) {
Cell cell = r.getCell(m);
val = formatter.formatCellValue(cell);
shiftname.add(val);
}
}
for (int rowNum = 0; rowNum < sheet.getLastRowNum() + 1; rowNum++) {
Row r = sheet.getRow(rowNum);
String val = null;
for (int m = 1; m < r.getLastCellNum(); m++) {
Cell cell = r.getCell(m);
val = formatter.formatCellValue(cell);
shiftcode.add(val);
}
}
} catch (Exception e) {
e.printStackTrace();
}
/* PHDatesArray.main(excelLink, shiftname, shiftcode); */
}
}
有人知道如何解决这个问题吗?
我已经解决了这个问题。事实上,这与APACHE POI的版本或我的系统变量中的路径无关。这只是我命令提示符上的路径,我写错了。
我把我所有的. jar文件放在同一个文件夹包里面的文件夹里。
因此,我运行这样的命令来编译:
javac-cp jars/*;。*. java
然后为了运行它,我这样写
java-cp日历/jars/*;日历第一课的名字,日历。类别2的名称
问题内容: 我制作了一个小型应用程序,可以从excel(xls文件)中读取内容并将其内容显示到JTable中。在eclipse中一切正常,但是当我创建jar文件并尝试运行它时,出现以下问题: 我发现奇怪的是,问题出在行上,当在行之前调用Workbook和Sheet时,它没有任何麻烦(至少从我的观察中可以看出)。 我已经研究了很多,主要似乎是jar文件不在Class-Path中,但是打开jar和清单
我正在使用ApachePOI读取一些Excel文件。我创建了一个控制台应用程序来完成这项工作,之后我尝试将代码集成到SpringMVCwebapp中(我知道没什么特别的)。我已将相同的Jar文件包含到我的类路径中,但每当我尝试运行代码时,都会出现以下错误: 我相信类Font是在编译时找到的,但不是在运行时。我很确定问题不在于ClassPath,但是我不知道如何解决这个问题。 编辑:当我用main方
我制作了一个小应用程序,它从excel(xls文件)读取内容并将内容显示到JTable。eclipse中的一切都很好,但是当我创建jar文件并尝试运行它时,我遇到了以下问题: 我发现的奇怪的事情是,问题是行,当工作簿和工作表被称为行之前,并没有给任何麻烦(至少从我可以看到)。 我已经研究了很多,主要似乎是jar文件不在类路径中,但是打开jar和清单文件,我可以看到所有的jar都存在。 这就是我的p
问题内容: 我正在尝试使用Eclipse在Maven项目中作为Java应用程序运行,并且遇到以下运行时错误。错误如下所示。 线程“主”中的异常java.lang.NoClassDefFoundError:com.wang.testMaven.App.main(App.java:16)上的org / apache / http / ConnectionReuseStrategy造成原因:java.l
我使用maven来管理我的web项目依赖关系。我添加apache poi依赖到我的pom文件.它不显示错误时,符合.但当它运行,它将抛出运行时间异常在我的Main Application()类.而它给java.lang.NoClassDefFoundError: org/apache/poi/ss/userModel/Workbook 我有一门主要的应用课程。 } 下面是我的补充