C# 调用Excel需要引用哪些

HopeInHeart 2010-12-31 02:36:38
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = true;

我想做导出数据到excel,这段代码是把excel调用出来,然后可以写入数据,问题是这个Excel怎么引用出来,查了下资料室需要引用Excel的动态链接库(Microsoft Excel 9.0 Object Library),在“添加引用”里选择“COM”,将其引用,但是我在Visual Studio 2008 里没找着Microsoft Excel 9.0 Object Library, 里边有 Microsoft Excel 11.0 Object Library 和 Microsoft Excel 5.0 Object Library(我还添加了Microsoft.Office.Interop.Excel)但是试了一下都不行,希望给指点下怎么回事
...全文
2159 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
HopeInHeart 2011-01-05
  • 打赏
  • 举报
回复
已解决 谢谢各位 哈
wuyq11 2011-01-01
  • 打赏
  • 举报
回复
将 Excel 程序集作为引用添加到项目中:在“解决方案资源管理器”中找到“引用”右击,选择“添加引用”。
单击“添加引用”对话框的“COM”选项卡,找到“Microsoft Excel 11 Object Library”。
双击“Microsoft Excel 11 Object Library”,然后按“确定”。
注意:Microsoft Excel 11 Object Library中Excel 11 的版本与安装的OFFICE版本有关。
Microsoft.Office.Interop.Excel.ApplicationClass excelApp = new ApplicationClass();
// 有时这里用要using Excel,Excel.ApplicationClass ,不带前面的Microsoft.Office.Interop.
onenewsmile 2011-01-01
  • 打赏
  • 举报
回复
同意楼上,不同版本是不一样的,首先右击“引用”添加,然后再加到using .
如果引用中没有,可以从其它机器上拷一个dll引用也可以。
maiker 2011-01-01
  • 打赏
  • 举报
回复
1,可以调用微软的com+组件
2.可以用biff8 操作 excel
侃大川 2011-01-01
  • 打赏
  • 举报
回复
路过,接分。
//在工程中首先引用“Microsoft Excel *.0 Object Library”
//安装 Office 2003 则是“Microsoft Excel 11.0 Object Library”
VB中使用声明如下:

Public xlObj As excel.Application 'Excel 对象
Public wbObj As excel.Workbook '文档工作薄 对象
Public shObj As excel.Worksheet '工作表“sheet”对象
Public rgObj As excel.Range '域 对象
Public dlg As excel.Dialog '对话框 对象

适当位置实例化 xlApp:
On Error Resume Next
Set xlObj = GetObject(, "Excel.Application") '如果已经打开则获取
If Err.Number <> 0 Then
Set xlObj = CreateObject("Excel.Application") '没有打开则创建
If Err.Number <> 0 Then
ConnectExcel = False
mErrInfo = Err.Description
Exit Function
End If
End If
If xlObj.Workbooks.Count < 1 Then
'如果新建则添加一个工作薄
xlObj.Workbooks.Add
End If
xlObj.Visible = True '显示

'使用工作薄操作,则:
Set wbObj = xlObj.ActiveWorkbook '实例化
''使用。。。。
set wbObj = Nothing '释放

'使用工作表操作,则:
Set shObj = xlObj.ActiveSheet '实例化
''使用。。。。
set shObj = Nothing '释放
'其他对象同上

C#代码如 7 楼述
using Excel = Microsoft.Office.Interop.Excel; //此行需要的
//下一行放在测试的一个分支中
try{
excel.Application xlObj = GetObject(, "Excel.Application");
//其中 GetObject 在 C# 中有专用语句 ,如果已经打开则获取
}
测试的另一分支
{
excel.Application xlObj = new Excel.Application();
}
上述 VB 代码测试无误。
C# 语言不熟,大概如此吧。
wolftop 2011-01-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]

Microsoft Excel 11.0 Object Library就可以了。不同的 Excel版本。Microsoft Excel x 这里数字不同
[/Quote]

正解
wangsong145 2010-12-31
  • 打赏
  • 举报
回复
Microsoft Excel 9.0 Object Library
中的9.0是Excel的一个版本,只要楼主看到Microsoft Excel *.0 Object Library
的引用进来就行了,还需要添加如下引用:

using Excel = Microsoft.Office.Interop.Excel;

//代码
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = true;
gq198718 2010-12-31
  • 打赏
  • 举报
回复
友情路过! 只为赚点可用分
tjc_333 2010-12-31
  • 打赏
  • 举报
回复
唉,说详细点嘛。。。嘿嘿
wuyq11 2010-12-31
  • 打赏
  • 举报
回复
安装的excel版本不一样,添加office 2003的Microsoft Excel 11.0 Object Library 就可以了
心灵彩虹 2010-12-31
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ComLib;
using LMSCLASS;
using ControlLib;
using System.IO;
wulinshe 2010-12-31
  • 打赏
  • 举报
回复
先添加Microsoft Excel 11.0 Object Library
然后using Microsoft.Office.Interop.Excel;
孟子E章 2010-12-31
  • 打赏
  • 举报
回复
Microsoft Excel 11.0 Object Library就可以了。不同的 Excel版本。Microsoft Excel x 这里数字不同

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧