c# 导出Excel

c# 导出Excel

初学c#,由于项目需要操作Excel。网上搜索了一番,资料挺多。不过写的过于冗余,一上来就是一大断代码,看的头疼,

总结了下,不足的忘补充

考虑到兼容问题,针对office2003的操作

---必须的库 Microsoft.Office.Interop.Excel.dll  (附件)

----代码中用到的类

C#代码   c# 导出Excel
  1. using System;  
  2. using System.Drawing;  
  3. using System.Collections;  
  4. using System.ComponentModel;  
  5.   
  6. using System.Data;  
  7. using System.IO;  
  8. using System.Text;  
  9. using System.Windows;  
  10. using System.Reflection;  
  11. using System.Runtime.InteropServices;  
  12. using Excel = Microsoft.Office.Interop.Excel;  

创建一个新的Excel文件

(代码片段1)

C#代码   c# 导出Excel
  1.  Object missing = Missing.Value;  
  2.   
  3.            Excel.Application m_objExcel = new Excel.Application();  
  4.            Excel.Workbooks m_objWorkBooks = m_objExcel.Workbooks;  
  5.   
  6.          Excel.Workbook m_objWorkBook = m_objWorkBooks.Add(true);  
  7.          Excel.Sheets m_objWorkSheets = m_objWorkBook.Sheets; ;  
  8.          Excel.Worksheet m_objWorkSheet = (Excel.Worksheet)m_objWorkSheets[1];  
  9. try  
  10.          {  
  11.              m_objExcel.Save("f:129.xls");  
  12.          }  
  13.          catch (Exception e)  
  14.          {  
  15.               
  16.          }  
  17.          finally {  
  18.              m_objWorkBooks.Close();  
  19.              m_objExcel.Quit();  
  20.          }  

------ 操作单元格 单元格以横坐标和纵坐标进行导航

在代码一try{}catch(){}之前加入以下代码

 (代码片段2)

C#代码   c# 导出Excel
  1. m_objExcel.Cells[1, 1] = "建筑节能评估计算报告书";//第一行第一列文赋值  

 ------合并单元格(在代码一try{}catch(){}之前加入以下代码)

C#代码   c# 导出Excel
  1. m_objExcel.Cells[1, 1] = "建筑节能评估计算报告书";  
  2.            Excel.Range range = m_objExcel.get_Range(m_objExcel.Cells[1, 1], m_objExcel.Cells[1, 10]);  
  3.            range.Merge(Type.Missing);//合并单元格  

 ---操作字体大小,颜色,单元格背景色。边框颜色等(在代码一try{}catch(){}之前加入以下代码)

Java代码   c# 导出Excel
  1. m_objExcel.Cells[1, 1] = "建筑节能评估计算报告书";  
  2.             Excel.Range range = m_objExcel.get_Range(m_objExcel.Cells[1, 1], m_objExcel.Cells[1, 10]);  
  3.             range.Merge(Type.Missing);//合并单元格  
  4.  range.Font.Size = 25;//字号  
  5.             range.HorizontalAlignment = Excel.Constants.xlCenter; //居中对齐  
  6.             range.Font.Bold = 17;//字体大小  
  7.           //  range.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;//边框  
  8.           //  range.Borders.Color = ColorTranslator.ToOle(Color.Red);//边框颜色  
  9.   
  10.             //range.Interior.ColorIndex = 34;背景色