2014-10-30 5 views
1

Привет, ребята, спасибо за попытку Я использую JExcelApi для создания файла excel из командной строки с помощью java-файла.Не удалось найти или загрузить основной класс cmd, он отлично работает в Eclipse, пути сборки выглядят нормально

код отлично работает в затмении с правом строить пути и т.д. Когда я попробовать его в CMD подскажите 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); 

     } 
    } 

баночка JExcelApi называется jxl.jar находится в C:/3DWIP/SRC/апи

cd.. 
cd 3DWIP 
cd src 

так, наконец, я в

C:\3DWIP\src 

где мой файл GenerateExcel.java является

я скомпилировать его с ЦМД

javac -classpath ./api/* GenerateExcel.java 

это идет хорошо, тогда, когда я выполнить его с ЦМД :

java -classpath ./api/* GenerateExcel 

Тогда я получаю ошибку

Could not find or load main class GenerateExcel 

Спасибо ребят

ответ

1

-classpath отменяет текущие классы.

Добавить место в каталог, который содержит класс, который имеет метод Main() в нем, к переменной пути в переменных среды

+1

работал с этим: java -classpath ./api/*;..C:\3DWIP; GenerateExcel – Lethal420

+0

Как вы сказали, путь к классам был перезаписан , однако просто добавив расположение каталога, содержащего класс, который имеет в нем метод main(), переменной пути в переменных среды didn Lethal420

0

вы должны включать в себя имя пакета

java -classpath ./api/* writingexcelfile.GenerateExcel 
+0

не работает :(я попробовал. – Lethal420

+0

пакет использовался только eclipse, я удалил строку для скрипта и работал так, как я сказал ib в другом сообщении. – Lethal420

 Смежные вопросы

  • Нет связанных вопросов^_^