您的位置:首页 > 编程语言 > C#

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

2011-02-25 11:37 561 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: