如何在C#中调用Excel

如何在C#中调用Excel

1.调用Excel的COM组件。
在项目中打开AddReference对话框,选择COM栏,之后在COM列表中找到"Microsoft
Excel11.0ObjectLibrary"(Office2003),然后将其加入到项目的References中即可。
VisualC#.NET会自动产生相应的.NET组件文件,以后即可正常使用。
2.打开Excel表格
Excel.Applicationexcel=newExcel.Application();//引用Excel对象
Excel.Workbookbook=excel.Application.Workbooks.Add(Missing.Value);//引用
Excel工作簿
excel.Visible=bVisible;//使Excel可视
有时调用excel.Application.Workbooks.Add(Missing.Value)会遇到如下错误:
Exception:
Oldformatorinvalidtypelibrary.(ExceptionfromHRESULT:0x80028018
(TYPE_E_INVDATAREAD))
这是Excel自身的一个bug,当本地系统环境被设置成非英文的,而Excel是英文的时候,
就会出现,需要临时设定英文环境,代码如下:
System.Globalization.CultureInfoCurrentCI=
System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture=new
System.Globalization.CultureInfo("en-US");
3.往Excel表格中插入数据
Excel.Worksheetsheet=(Excel.Worksheet)book.Worksheets["Sheet1"];//选中
当前新建Sheet(一般为Sheet1)
有两种插入方法
a.逐格插入数据
sheet.Cells[iRow,iCol]=value;//左上角第一格的坐标是[1,1]
b.按块插入数据
object[,]objVal=newobject[Height,Length];
//设置数据块
Excel.Rangerange=sheet.get_Range(sheet.Cells[iRow,iCol],sheet.Cells[iRow
+Height,iCol+Length])
range.Value2=objVal;
4.清理内存和恢复环境
System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(book);
while(System.Runtime.InteropServices.Marshal.ReleaseComObject(excel)>0);
range=null;
sheet=null;
book=null;
excel=null;
GC.Collect();
System.Threading.Thread.CurrentThread.CurrentCulture=CurrentCI;

更多C#相关

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值