using Excel = Microsoft.Office.Interop.Excel; // 堆代码 duidaima.com namespace ExcelInteropDemo { class Program { static void Main(string[] args) { // 创建Excel应用程序对象 Excel.Application excelApp = new Excel.Application(); // 使Excel可见 excelApp.Visible = true; // ... 这里可以添加更多操作 // 释放COM对象 ReleaseObject(excelApp.Workbooks); ReleaseObject(excelApp); } private static void ReleaseObject(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; Console.WriteLine("Unable to release the Object " + ex.ToString()); } finally { GC.Collect(); } } } }三、操作工作簿和工作表
// ... 接上面的代码 // 新建一个工作簿 Excel._Workbook workbook = excelApp.Workbooks.Add(Type.Missing); // 获取第一个工作表 Excel._Worksheet worksheet = null; worksheet = workbook.Sheets[1]; worksheet = (Excel._Worksheet)workbook.ActiveSheet; // 向单元格写入数据 worksheet.Cells[1, 1] = "Hello"; worksheet.Cells[1, 2] = "World"; // ... 这里可以添加更多操作 // 保存工作簿 workbook.SaveAs2(@"C:\path\to\your\file.xlsx"); // ... 释放对象代码(同上面ReleaseObject方法)
// 设置单元格格式 worksheet.Cells[1, 1].Font.Bold = true; worksheet.Cells[1, 2].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); // 应用公式 worksheet.Cells[2, 1] = "=SUM(A1:B1)"; // 自动调整列宽 worksheet.Columns[1].AutoFit(); worksheet.Columns[2].AutoFit();五、清理资源
4.考虑到性能和资源利用,对于大规模数据处理或服务器环境,建议使用其他库,如EPPlus或ClosedXML,这些库不需要安装Excel,并且是基于.NET开发的。