在文本中发出excel文件转换

时间:2016-06-22 13:39:19

标签: excel text ms-office

我使用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());
        }
    }

但我得到了“使用CLSID检索组件的COM类工厂” 错误。我没有在我的电脑上安装微软办公室。问题是什么?由于m得到这个错误?任何人都有想法.pls帮助。

1 个答案:

答案 0 :(得分:0)

很遗憾,您无法在未安装Microsoft Office Excel 2007或更高版本的情况下使用 Microsoft.Office.Interop.Excel

  

...您必须拥有Microsoft Office Excel 2007和Microsoft Office   您的计算机上安装了Word 2007或更高版本。

检查 this 链接以获取更多信息。