2016-07-27 2 views
0

В моем проекте мне нужно создать файл excel на рабочем столе пользователей. Код написан на моей визуальной студии.Необходимо создать лист excel в рабочем столе пользователей

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); 


       } 

Этот код прекрасно работает в моей системе и создание папки с Ехчли, но когда я скопировал ех из C: папка \ Visual Studio 2015 \ Projects \ AMCalculator \ AMCalculator \ Bin \ Debug и сохранен в другой машине он показывает ошибка может кто-нибудь помочь в этом

+3

«он показывает ошибку» aaaaaaand, какая ошибка может быть? И в какой строке происходит ошибка? – itsme86

+0

Какая ошибка у вас? – Alex

+0

Когда я запускаю приложение в visual studio, я не получал никаких ошибок и приложений, работающих нормально, создавая папку и файл excel. но если я запускаю файл .exe в другой системе или за пределами визуальной студии, приложение создает папку, а не файл excel, и приложение перестает работать, это моя ошибка. – Srikanth

ответ

0

я добавил Try/уловах блоки в моих классах в ExcelUtils класс:

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); 
      } 
     } 

в Мой основной класс:

  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); 
      } 
      } 
Смежные вопросы