C#中如保获得Excel单元格的名称,100分,急!在线等!

LXXNIIT 2006-08-16 07:54:22
C#中如保获得Excel单元格的名称(此名称是把单元格名称修改之后的名称,如:把A1改为liu,liu就代表A1),现在我要在代码中,取到这个liu.各位大侠怎么实现,请给点代码,谢谢!!
...全文
1346 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
LXXNIIT 2006-10-12
  • 打赏
  • 举报
回复
那位同仁要是知道怎么获得单元格名字的.请留个联系方式,QQ,或msn
当面请教.谢谢
LXXNIIT 2006-10-12
  • 打赏
  • 举报
回复
to
livode(啊水)
你好,
我的开发平台,是vs2003
你所给的资料,是vs2005的,有的包,在vs2003里没有
yzqlee 2006-10-12
  • 打赏
  • 举报
回复
熊崽,你还没结贴啊。
livode 2006-10-12
  • 打赏
  • 举报
回复
楼主要学会举一反三阿
livode 2006-10-12
  • 打赏
  • 举报
回复
环境:vs2003,office 2000
功能:给excel的第一行第二列起个别名"xxxx",并将此名显示在第1列中。
代码:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using Excel;

namespace 读取excel单元格名称
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Button button1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();

//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(8, 8);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "请选择文件";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);

}
#endregion

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
System.Windows.Forms.Application.Run(new Form1());
}

private void button1_Click(object sender, System.EventArgs e)
{
this.openFileDialog1.Filter = "Excel文件(*.xls)|*.xls";
this.openFileDialog1.ShowDialog();

if(this.openFileDialog1.FileName.Equals(""))
{
MessageBox.Show("请选择一个Excel文件!");
}
else
{
Excel.Application excel = new Excel.ApplicationClass();
Excel.Workbook workbook = excel.Workbooks.Open(this.openFileDialog1.FileName,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);

excel.ActiveWorkbook.Names.Add("xxxx","=Sheet1!R1C2",true,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);

for(int i=1;i<=excel.ActiveWorkbook.Names.Count;i++)
{
Excel.Range range = excel.get_Range("A"+i.ToString(),Type.Missing);
MessageBox.Show(excel.ActiveWorkbook.Names.Item(i,Type.Missing,Type.Missing).ToString());
range.Select();
range.Value2 = excel.ActiveWorkbook.Names.Item(i,Type.Missing,Type.Missing).Name;
}
workbook.Save();
workbook.Close(false,Type.Missing,Type.Missing);
}
}
}
}
李必胜 2006-10-11
  • 打赏
  • 举报
回复
ActiveCell.Name.Name 就是单元格的名字
LXXNIIT 2006-10-11
  • 打赏
  • 举报
回复
to enutter(The Notorious G.W.W.)
你好,
ActiveCell.Name.Name 最后一个Name点不出来
dlzhangln 2006-10-11
  • 打赏
  • 举报
回复
//oWS是操作的Excel._Worksheet
oWS.get_Range("E2:E6", Missing.Value ).Name="liu"
livode 2006-10-11
  • 打赏
  • 举报
回复
示例代码也有,楼主仔细看一下。
livode 2006-10-11
  • 打赏
  • 举报
回复
to lz:
http://msdn2.microsoft.com/zh-CN/library/microsoft.office.tools.excel.workbook.names.aspx里有很详细的说明了。
所有的别名都在workbook.names里,用索引取出来。
sonyicn 2006-10-11
  • 打赏
  • 举报
回复
mark一个
LXXNIIT 2006-10-10
  • 打赏
  • 举报
回复
to enutter(The Notorious G.W.W.)
你好,我看了你说的The Name Class and Names Collection部分
但这个只有获取这个改了名字单元格的值。
没有看到怎么获取,单元格名字的代码
LXXNIIT 2006-10-09
  • 打赏
  • 举报
回复

to livode(啊水)
我是要读出liu,因为我已把A1单元格的名称,改成了liu
李必胜 2006-10-09
  • 打赏
  • 举报
回复
参考http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_vsto2003_ta/html/ExcelObj.asp

中的The Name Class and Names Collection部分
liangxf0022 2006-10-08
  • 打赏
  • 举报
回复
顶,LZ应该认真研究一下Excel的对象模型。求人不如求己
livode 2006-10-08
  • 打赏
  • 举报
回复
楼主要干什么?
是只要读出那个liu还是要引用liu所在的那个格子?
给你一点参考
http://msdn2.microsoft.com/zh-CN/library/microsoft.office.tools.excel.workbook.names.aspx
LXXNIIT 2006-10-08
  • 打赏
  • 举报
回复
问题还未解决,有能力者,还可以顶.
LXXNIIT 2006-09-21
  • 打赏
  • 举报
回复
都一个月了,都没人解决,郁闷.难道就没一人知道
LXXNIIT 2006-09-15
  • 打赏
  • 举报
回复
问题还是没解决.都这么多天,怎么就没见到一个高手呢
谁要是帮我解决了,我以后的分全给他,谢谢
iflang 2006-09-14
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5020/5020789.xml?temp=.4204828

借点人气,谢谢!!帮顶一下吧。。。
加载更多回复(22)

110,538

社区成员

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

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

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