如何找到单元格的值列ID? [英] How to find column id by cell value?

查看:161
本文介绍了如何找到单元格的值列ID?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个巨大的Excel文件,并想找到列ID供以后使用。
第1行是空的,标题行是第二。

  INT ID_NUMBER =((范围)sheet.get_Range (A2,sheet.UsedRange.Columns.Count).Find(身份证号,Missing.Value,XlFindLookIn.xlValues,XlLookAt.xlPart,XlSearchOrder.xlByColumns,XlSearchDirection.xlNext,真实,Missing.Value,Missing.Value )).Column; 
INT大小=((范围)sheet.get_Range(A2,sheet.UsedRange.Columns.Count).Find(大小,Missing.Value,XlFindLookIn.xlValues,XlLookAt.xlPart,XlSearchOrder.xlByColumns, XlSearchDirection.xlNext,真实,Missing.Value,Missing.Value)).Column;




未处理的异常信息:System.Runtime.InteropServices.COMException:$ B $从HRESULT b异常:0x800A03EC




有时候列顺序是改变在Excel中,并想通过定义列dinamically不处理它中号例如,对于尺寸。


解决方案

这是你想什么呢? (审判和检测过VS + 2010的Excel 2010 的)

 对象misValue = System.Reflection.Missing 。值; 

Microsoft.Office.Interop.Excel.Range xlRange = xlWorkSheet.get_Range(A2,A 2);

Microsoft.Office.Interop.Excel.Range xlFound = xlRange.EntireRow.Find(身份证号,
misValue,Excel.XlFindLookIn.xlValues,Excel.XlLookAt.xlPart,
Excel.XlSearchOrder.xlByColumns,Excel.XlSearchDirection.xlNext,
真,misValue,misValue);

// ~~>检查范围返回
如果(!(xlFound == NULL))
{
INT ID_NUMBER = xlFound.Column;
MessageBox.Show(ID_Number.ToString());
}


I have a huge excel file and would like to find column "ID" for later use. Row 1 is empty, header rows is in the second.

int ID_Number = ((Range)sheet.get_Range("A2", sheet.UsedRange.Columns.Count).Find("ID Number", Missing.Value, XlFindLookIn.xlValues, XlLookAt.xlPart, XlSearchOrder.xlByColumns, XlSearchDirection.xlNext, true, Missing.Value, Missing.Value) ).Column;
int Size = ((Range)sheet.get_Range("A2", sheet.UsedRange.Columns.Count).Find("Size", Missing.Value, XlFindLookIn.xlValues, XlLookAt.xlPart, XlSearchOrder.xlByColumns, XlSearchDirection.xlNext, true, Missing.Value, Missing.Value) ).Column;

Unhandled Exception: System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800A03EC

Sometimes the columns order is changing in the excel and would like to handle it dinamically and not by defining column M eg for Size.

解决方案

Is this what you are trying? (TRIED AND TESTED in VS 2010 + Excel 2010)

object misValue = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Excel.Range xlRange = xlWorkSheet.get_Range("A2", "A2");

Microsoft.Office.Interop.Excel.Range xlFound = xlRange.EntireRow.Find("ID Number",
misValue, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart,
Excel.XlSearchOrder.xlByColumns, Excel.XlSearchDirection.xlNext, 
true, misValue, misValue);

//~~> Check if a range was returned
if (!(xlFound == null))
{
    int ID_Number = xlFound.Column;
    MessageBox.Show(ID_Number.ToString());
}

这篇关于如何找到单元格的值列ID?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆