使用未安装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)).
如何解决这个exception,我怎样才能使用C#为Excel工作表单元格着色?
以下是代码:
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); } } }
当您使用Microsoft.Office.Interop
命名空间通过COM“自动化”Excel时,必须在计算机上安装相应的Microsoft Office产品。
否则,您将不得不切换到某种第三方库,使您能够直接读取/写入文件而不依赖于Microsoft Office软件。
可能的库需要考虑:
- EPPlus
- OpenXML的
- ClosedXML