2016-07-27 6 views
0

In meinem Projekt muss ich eine Excel-Datei in Benutzer Desktop erstellen. Code geschrieben in meinem Visual Studio ist.müssen Excel Blatt in Benutzer Desktop erstellen

string sPathTestData1 = "\\AdaptiveModulations.xls"; 
        string sPathTestData = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\AdaptiveModulations" + sPathTestData1; 
        string sheet = "Sheet1"; 
        string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\AdaptiveModulations"; 
    if (!Directory.Exists(path)) 
       { 
        Directory.CreateDirectory(path); 
        ExcelUtils.createExcelFile(sPathTestData,sheet); 
       } 
       else 
       { 
        ExcelUtils.setExcelFile(sPathTestData,sheet); 


       } 

Dieser Code funktioniert perfekt in mein System und Erstellung Ordner mit Excel-Datei, aber wenn ich kopiert die exe von C: \ Visual Studio 2015 \ Projects \ AMCalculator \ AMCalculator \ bin \ Debug-Ordner und in einer anderen Maschine gespeichert es zeigt Fehler jemand auf diesen

+3

"Es zeigt Fehler" aaaaaaund welcher Fehler könnte das sein? Und auf welcher Linie tritt der Fehler auf? – itsme86

+0

Welchen Fehler bekommen Sie? – Alex

+0

wenn ich die Anwendung in Visual Studio ausführen, habe ich keine Fehler und Anwendung funktioniert gut, Erstellen von Ordner und Excel-Datei auch. aber wenn ich die EXE-Datei in anderen System oder außerhalb Visual Studio ausführen, erstellt Anwendung nur Ordner nicht Excel-Datei und Anwendung funktioniert nicht mehr das ist mein Fehler. – Srikanth

Antwort

0

ich hinzugefügt habe try/catch-Blöcke in meinen Klassen in ExcelUtils Klasse helfen kann:

public static void createExcelFile(String filepath, String sheetName) 
     { 
      try 
      { 
       using (FileStream stream = new FileStream(filepath, FileMode.Create, FileAccess.ReadWrite)) 
       { 
         workBook = new HSSFWorkbook(); 
         workSheet = workBook.CreateSheet(sheetName); 
         workBook.Write(stream); 
         stream.Close(); 
       } 
      } 
      catch (Exception e) { 
       Console.WriteLine("Unable to Create File. Exception is : " + e); 
      } 
     } 

     public static void setExcelFile(string filepath, string sheetName) 
     { 
      try 
      { 
       Console.WriteLine("File Path is : " + filepath); 
       workBook = WorkbookFactory.Create(new FileStream(
           Path.GetFullPath(filepath), 
           FileMode.Open, FileAccess.Read, 
           FileShare.ReadWrite)); 

       workSheet = workBook.GetSheet(sheetName); 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine("Unable to Load File. Exception is : " + e); 
      } 
     } 

in meiner Hauptklasse:

  if (!File.Exists(sPathTestData)) 
      { 
       Directory.CreateDirectory(path); 
      try 
      { 
       ExcelUtils.createExcelFile(sPathTestData, sheet); 
      } 
      catch (FileNotFoundException fe) 
      { 
       Console.WriteLine("Unable to Create File. Exception is : " + fe); 
      } 
      } 
      else 
      { 
      try 
      { 
       ExcelUtils.setExcelFile(sPathTestData, sheet); 
      } 
      catch (FileNotFoundException fe) 
      { 
       Console.WriteLine("Unable to Load File. Exception is : " + fe); 
      } 
      }