嗨,大家好,感谢您尝试 我正在使用JExcelApi从cmd提示符创建一个带有java文件的excel文件。无法找到或加载主类cmd,它在Eclipse中正常工作,构建路径似乎没问题
代码工作完全Eclipse中使用正确的构建路径等 当我在命令提示符中的javac尝试它的工作原理,然后当我执行它,我得到无法找到或加载主类GenerateExcel
这是GenerateExcel的Java文件
import java.io.*;
import jxl.*;
import java.util.*;
import jxl.Workbook;
import jxl.write.DateFormat;
import jxl.write.Number;
import jxl.write.*;
import java.text.SimpleDateFormat;
public class GenerateExcel
{
public static void main(String[] args)
{
try
{
String filename = "excelTEST.xls";
WorkbookSettings ws = new WorkbookSettings();
ws.setLocale(new Locale("en", "EN"));
WritableWorkbook workbook =
Workbook.createWorkbook(new File(filename), ws);
WritableSheet s = workbook.createSheet("Sheet1", 0);
WritableSheet s1 = workbook.createSheet("Sheet1", 0);
writeDataSheet(s);
writeImageSheet(s1);
workbook.write();
workbook.close();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (WriteException e)
{
e.printStackTrace();
}
}
private static void writeDataSheet(WritableSheet s)
throws WriteException
{
/* Format the Font */
WritableFont wf = new WritableFont(WritableFont.ARIAL,
10, WritableFont.BOLD);
WritableCellFormat cf = new WritableCellFormat(wf);
cf.setWrap(true);
/* Creates Label and writes date to one cell of sheet*/
Label l = new Label(0,0,"Date",cf);
s.addCell(l);
WritableCellFormat cf1 =
new WritableCellFormat(DateFormats.FORMAT9);
DateTime dt =
new DateTime(0,1,new Date(), cf1, DateTime.GMT);
s.addCell(dt);
/* Creates Label and writes float number to one cell of sheet*/
l = new Label(2,0,"Float", cf);
s.addCell(l);
WritableCellFormat cf2 = new WritableCellFormat(NumberFormats.FLOAT);
Number n = new Number(2,1,3.1415926535,cf2);
s.addCell(n);
n = new Number(2,2,-3.1415926535, cf2);
s.addCell(n);
/* Creates Label and writes float number upto 3
decimal to one cell of sheet */
l = new Label(3,0,"3dps",cf);
s.addCell(l);
NumberFormat dp3 = new NumberFormat("#.###");
WritableCellFormat dp3cell = new WritableCellFormat(dp3);
n = new Number(3,1,3.1415926535,dp3cell);
s.addCell(n);
/* Creates Label and adds 2 cells of sheet*/
l = new Label(4, 0, "Add 2 cells",cf);
s.addCell(l);
n = new Number(4,1,10);
s.addCell(n);
n = new Number(4,2,16);
s.addCell(n);
Formula f = new Formula(4,3, "E1+E2");
s.addCell(f);
/* Creates Label and multipies value of one cell of sheet by 2*/
l = new Label(5,0, "Multipy by 2",cf);
s.addCell(l);
n = new Number(5,1,10);
s.addCell(n);
f = new Formula(5,2, "F1 * 3");
s.addCell(f);
/* Creates Label and divide value of one cell of sheet by 2.5 */
l = new Label(6,0, "Divide",cf);
s.addCell(l);
n = new Number(6,1, 12);
s.addCell(n);
f = new Formula(6,2, "F1/2.5");
s.addCell(f);
}
private static void writeImageSheet(WritableSheet s)
throws WriteException
{
/* Creates Label and writes image to one cell of sheet*/
Label l = new Label(0, 0, "Image");
s.addCell(l);
WritableImage wi = new WritableImage(0, 3, 5, 7, new File("C:/3DWIP/out/example.png"));
s.addImage(wi);
/* Creates Label and writes hyperlink to one cell of sheet*/
l = new Label(0,15, "HYPERLINK");
s.addCell(l);
Formula f = new Formula(1, 15,
"HYPERLINK(\"http://www.andykhan.com/jexcelapi\", "+
"\"JExcelApi Home Page\")");
s.addCell(f);
}
}
称为jxl.jar的罐子了JExcelApi在C:/ 3DWIP/src目录/ API
cd..
cd 3DWIP
cd src
所以最后我在
C:\3DWIP\src
在我的GenerateExcel.java文件
我与CMD编译
javac -classpath ./api/* GenerateExcel.java
它去罚款,然后当我用CMD执行它:
java -classpath ./api/* GenerateExcel
然后我得到的错误
Could not find or load main class GenerateExcel
谢谢你们
它与此一起工作:java -classpath ./api/*;..C:\3DWIP; GenerateExcel – Lethal420 2014-10-30 18:32:57
正如你所说的,类路径被覆盖,但只是将包含main()方法的类的目录的位置添加到环境变量中的路径变量中,我不得不使用多路径语法路径将它添加到我的java cmd中; .. path2; .. path3; JavaFileContainingMain – Lethal420 2014-10-31 13:46:23