2016-06-22 2 views
0

i m создание файла excel из текстового файла с использованием Microsoft.Office.Interop.Excel; вот мой кодвыпуск в тексте для преобразования файла Excel

private void button1_Click(object sender, EventArgs e) 
    { 
     // Reading the text file - StreamReader include System.IO namespace 
     StreamReader objReader = new StreamReader(@"C:\Users\pci218\Desktop\TextToExcelFormApplication\TextToExcelFormApplication\Text\pop3.txt");// Please give the file path 
     string sLine = ""; 
     ArrayList arrText = new ArrayList();// Include System.Collections.Generic namespace 
     while (sLine != null) 
     { 
      sLine = objReader.ReadLine(); 
      if (sLine != null) 
       arrText.Add(sLine); 
     } 
     callExcel(arrText, true); 
    } 

    private void callExcel(ArrayList arrText, bool value) 
    { 
     try 
     { 
      // Change Your String here 
      String textString = null; 
      foreach (var item in arrText) 
      { 
       textString = textString + item + Environment.NewLine; 
      } 
      Clipboard.SetText(textString); 
      Microsoft.Office.Interop.Excel.Application xlexcel; 
      Microsoft.Office.Interop.Excel.Workbook xlWorkBook; 
      Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; 
      object misValue = System.Reflection.Missing.Value; 
      xlexcel = new Excel.Application(); 
      // for excel visibility 
      //xlexcel.Visible = true; 
      // Creating a new workbook 
      xlWorkBook = xlexcel.Workbooks.Add(misValue); 
      // Putting Sheet 1 as the sheet you want to put the data within 
      xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 
      // creating the range 
      Excel.Range CR = (Excel.Range)xlWorkSheet.Cells[1, 1]; 
      CR.Select(); 
      xlWorkSheet.Paste(CR, false); 
      if (value == true) 
      { 
       try 
       { 
        // saving the file as .xls 
        xlWorkSheet.SaveAs(@"C:\Users\U0153056\Desktop\receivedNew.xls"); 
       } 
       catch (Exception) 
       { 
        MessageBox.Show("File already exist"); 
       } 
      } 
      else 
      { 
       try 
       { 
        // saving the file as .xlsx 
        xlWorkSheet.SaveAs(@"C:\Users\U0153056\Desktop\receivedNew.xlsx"); 
       } 
       catch (Exception) 
       { 
        MessageBox.Show("File already exist"); 
       } 
      } 
      xlexcel.Quit(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
    } 

, но я получаю «Получение COM фабрики классов для компонента с CLSID» ошибки. У меня нет офиса Microsoft Office, установленного на моем ПК. Это проблема? из-за этого m получает эту ошибку? У кого-нибудь есть идея .pls help.

ответ

0

К сожалению, вы не можете использовать Microsoft.Office.Interop.Excel без установленной версии Microsoft Office Excel 2007 или более поздней версии.

... у вас должен быть установлен Microsoft Office Excel 2007 и Microsoft Office Word 2007 или более поздние версии на вашем компьютере.

Проверить this ссылку для получения дополнительной информации.

+0

есть ли другой способ конвертировать текст в excel без использования Microsoft.Office.Interop.Excel .. –

+0

Существует несколько способов, но они устарели, поэтому не уверены в этом, но вы можете проверить [** this **] (http://stackoverflow.com/a/11448322/1652222) и [** this **] (http://forums.asp.net/post/4203658.aspx) ссылки, например. – ManishChristian

+0

спасибо ........... –

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