using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop;
using System.Runtime.InteropServices;
using System.Data;
namespace BLL
{
public class exportExcel
{
#region Excel操作示例
public static void printTest()
{
Microsoft.Office.Interop.Excel.ApplicationClass m_objExcel = null ;
try
{
System.Reflection.Missing oMiss = System.Reflection.Missing.Value;
m_objExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();//生成Excel对象
m_objExcel.Visible = false;
Microsoft.Office.Interop.Excel.Workbooks m_objBooks = (Microsoft.Office.Interop.Excel.Workbooks)m_objExcel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook m_objBook = (Microsoft.Office.Interop.Excel.Workbook)(m_objBooks.Add(oMiss));
Microsoft.Office.Interop.Excel.Worksheet m_objSheet = (Microsoft.Office.Interop.Excel.Worksheet)m_objBook.ActiveSheet;
m_objSheet.get_Range((object)"A1", (object)"I1").MergeCells = true;//合并A1到L1的单元格
Microsoft.Office.Interop.Excel.Range er = m_objSheet.get_Range((object)"A1", oMiss);//取得A1内容格
//设置内容格的样试
er.Value2 ="我是横幅";
er.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; //设置单元格的水平对齐方式
er.VerticalAlignment = Microsoft.Office.Interop.Excel.Constants.xlBottom;
er.Font.Size = 20;
er.Font.Bold = true; //设置字体
er.Font.Size = 14;
er = m_objSheet.get_Range((object)"A2", oMiss);
er.Value2 = "我是题目:";
er.Font.Bold = true;
er.Font.Name = "宋体";
//目录显式方法
//内容显式方法
m_objSheet.get_Range((object)"B2", oMiss).Value2 = "我是内容";
// m_objSheet.get_Range((object)"B2", oMiss).Font.Background ="008FFF";
m_objSheet.get_Range((object)"B2", oMiss).Value2 = "我可是有背景的";
for (int i = 5; i <= 10; i++)
{
for (int j = 1; j < 10; j++)
{
m_objSheet.Cells[i, j] = "ok";
}
}
m_objBook.Saved = true;
m_objBook.SaveCopyAs("C:\\Documents and Settings\\ok\\Desktop\\test.xls");
//如果横线都位置相同 则合并
//怎么实现?
//遍历时如果出现为两次则累加格子信息?
}
catch (Exception ex)
{
//记录错误日志
}
finally//杀死进程
{
if (m_objExcel != null)
{
m_objExcel.Quit();
Marshal.ReleaseComObject(m_objExcel);
m_objExcel = null;
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
}
#endregion
}
}