1、 excel com调用,用excel提供的外部类完成高级excel操作
优点:excel自带的com方法,兼容性好,灵活,可完成复杂的excel操作
缺点:机械必选预先安装好excel,对于托管或者安全性比较高的服务器,不允许安装excel。Excel资源需要自行释放,否则它会常驻内存。
Com引用方法
在已安装excel 和其可编程性组件的机械上,添加com组件引用,选excel。
如进行在网页实现操作excel功能,则必须先为network service用户赋予操作excel dcom的权限,操作如下
32位操作系统 ,在命令行输入 DCOMCNFG ,组件服务-->DCOM配置-->Microsoft excel-->属性-->安全 为network service账户添加控制权限。
64位系统,运行:mmc -32 然后会弹出一個程序,工菜单中选择File->Add/Remove Snap ,添加Component Services,然后在Component Services下找到Excel后再进行配置,就和32位系统一样了
下面是我自己封装的一个excel操作类
using System;
using Excel = Microsoft.Office.Interop.Excel;
namespace ExcelClass
{
public class ExportExcel
{
private Excel.Application oExcel = null;
private object oMissing = null;
private Excel.Workbook oBook = null;
private Excel.Worksheet oSheet = null;
private Excel.Range rg = null;
//打开一个excel文件资源
public void Open()
{
this.Open(string.Empty);
}
//根据文件路径打开一个excel文件资源
public void Open(string val_templateFilePath)
{
oExcel = new Excel.Application();
oMissing = System.Reflection.Missing.Value;
if (val_templateFilePath == string.Empty)
{
oExcel.Workbooks.Add(oMissing);
}
else
{
oExcel.Workbooks.Open(val_templateFilePath, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
}
oBook = oExcel.Workbooks[1];
oSheet = (Mic