2016-08-04 7 views
0

は、私がこれを行うためのプログラムを書きましたが、Microsoft OfficeをインストールせずにC#を使用してExcelシートセルを着色していますか?

Retrieving the COM class factory for component with 
CLSID {00024500-0000-0000-C000-000000000046} 
failed due to the following error: 80040154 
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 

がどのように私はこの例外を解決できますし、どのように私はカラーExcelシートのセルのC#を使用することができますと言って例外が発生しましたか?

using Excel = Microsoft.Office.Interop.Excel; 
using System.Reflection; 
using System.Windows; 
using System.Drawing; 
using Microsoft.Office.Interop.Excel; 
using System; 

namespace Project32 
{ 
    public class Class1 
    { 
     static void Main() 
     { 
      Application excel = new Application(); 
      Workbook wb = excel.Workbooks.Open(@"C:\Users\mvmurthy\Downloads\IDBDeviceReport.rdlc"); 
      Worksheet ws = wb.Worksheets[1]; 
      ws.Cells[1, 1].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); 
     } 
    } 
} 
+0

質問は何ですか?あなたが得ている例外やあなたの投稿のタイトルについてですか? –

+0

この例外を解決する解決策はありますか? – manvitha

答えて

3

あなたは「自動化」するMicrosoft.Office.Interop名前空間を使用しているExcelをCOM経由で、その後、それぞれのMicrosoft Office製品がコンピュータにインストールする必要があります。以下は

はコードです。

そうしないと、Microsoft Officeソフトウェアに依存せずにファイルを直接読み書きできるサードパーティ製のライブラリに切り替える必要があります。考慮すべき

可能なライブラリ:

  • EPPlus
  • OpenXMLの
  • ClosedXML