C# 导出Excel 中设置公式、格式问题

在C#导出Excel时遇到需要自定义公式的问题,总结一下。

 

第一步添加 Microsoft.Office.Interop.Excel 引用,需要安装Excel。

 

代码:

创建Excel文件

Excel.Application m_objExcel = new Excel.Application(); Excel.Workbooks m_objWorkBooks = m_objExcel.Workbooks; Excel.Workbook m_objWorkBook = m_objWorkBooks.Add(true); Excel.Sheets m_objWorkSheets = m_objWorkBook.Sheets; ; Excel.Worksheet m_objWorkSheet = (Excel.Worksheet)m_objWorkSheets[1];//得到第一个工作簿

 

添加公式并保存

try { m_objWorkSheet.Cells[1, 1] = "100";//第一行第一列文赋值 m_objWorkSheet.Cells[2, 1] = "200"; Excel.Range range = m_objWorkSheet.get_Range(m_objWorkSheet.Cells[3, 1], m_objWorkSheet.Cells[3, 1]);//得到第一列的第三行 range.Formula = "=Sum(A1*A2)";设置公式 m_objWorkBook.Saved = true; m_objWorkBook.SaveCopyAs("f:1329.xls"); } catch (Exception ex) { } finally { m_objWorkBooks.Close(); m_objExcel.Quit(); }

 

 

以下代码可以在保存前添加到try...catch中,用于调整格式。

//合并单元格 Object missing = Missing.Value; m_objExcel.Cells[4, 1] = "合并单元格"; range = m_objWorkSheet.get_Range(m_objWorkSheet.Cells[4, 1], m_objWorkSheet.Cells[4, 10]); range.Merge(Type.Missing); range.Interior.ColorIndex = 19;//设置为浅黄色,共计有56种 range.Font.Name = "黑体"; //设置字体 range.Font.Size = 14; //字体大小 range.Font.Bold = true; //加粗显示 range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; //水平居中 range.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; //垂直居中 range.ColumnWidth = 10; //设置列宽 range.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //设置边框 range.Borders.Weight = Excel.XlBorderWeight.xlMedium; //边框常规粗细 range.Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThick;//设置下边线加粗 m_objWorkSheet.Columns.EntireColumn.AutoFit();//列宽自适应。

 

 

 连接:如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化http://support.microsoft.com/kb/302084

你可能感兴趣的:(C#)