Office中国论坛/Access中国论坛
标题:
【练习】Dictionary去除源数据中的重复项
[打印本页]
作者:
醉酒狂生
时间:
2014-2-28 15:02
标题:
【练习】Dictionary去除源数据中的重复项
本帖最后由 faunus 于 2014-2-28 16:42 编辑
[attach]53231[/attach]
这是刚撸的代码,新鲜热辣。作用嘛就是为了将"数据表"中A列的单位名称去重后放到碗里去(combobox控件)。闲话不讲,直接上代码:
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using Microsoft.Office.Tools.Excel;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
namespace Test
{
public partial class Sheet1
{
private void Sheet1_Startup(object sender, System.EventArgs e)
{
Excel.Worksheet shD = Application.ActiveWorkbook.Worksheets["数据表"];
Excel.Range rnAll = shD.Range["A2:A" + Convert.ToString(shD.Range["A1"].End[Excel.XlDirection.xlDown].Row)];
Dictionary<String,Int32> dicName1 = new Dictionary<string,Int32>();
String valStr;
foreach (Excel.Range rn in rnAll)
{
valStr = Convert.ToString(rn.Value);
dicName1[valStr] = rn.Row;
}
Dictionary<string, Int32>.KeyCollection keyColl = dicName1.Keys;
foreach (string s in keyColl)
{
comboBox1.Items.Add(s);
}
}
private void Sheet1_Shutdown(object sender, System.EventArgs e)
{
}
#region VSTO 设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(this.Sheet1_Startup);
this.Shutdown += new System.EventHandler(this.Sheet1_Shutdown);
}
#endregion
public EventHandler comboBox1_SelectedIndexChanged { get; set; }
public MouseEventHandler comboBox1_MouseClick { get; set; }
public Excel.DocEvents_ActivateEventHandler Sheet1_ActivateEvent { get; set; }
public Excel.DocEvents_ChangeEventHandler Sheet1_Change { get; set; }
}
}
复制代码
下面是附件,有兴趣的盆友可下载了试一试。
能想到的运行环境(office2010-vs2010),在此谢谢(佛爷、汪老师、西西)
作者:
faunus
时间:
2014-2-28 16:44
今天 撸这个。
作者:
hehex
时间:
2014-2-28 19:37
已撸。
不过有点疑问,似乎不应该使用外接程序吧?这个明明是涉及到工作薄的具体操作。是否应该从工作薄入口进去写码?
对C# 容器和泛型完全不懂,撸完也是一头雾水
作者:
tianping
时间:
2014-3-1 09:38
昨天没顾上,今天撸
作者:
Amas
时间:
2014-3-4 09:01
代码能做一下注释就好了,容易理解思路。
作者:
oldyuan
时间:
2014-5-7 21:29
遍历区域的方法。在VBA里一般是将数据读取到数组中,然后遍历数组。看了半天也没找到像VBA那样将区域转数组的方法。哎!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3