如何获取包含提供值的 xlsx 单元格的地址?
How can I get the address of xlsx cell containing provided value?
我在 c# 和 xlsx 文件中准备了一个字典,其中包含填充的列。如果单元格包含字典提供的值,我需要找到列和行的索引。
我正在使用 ExcelPackage 和 ExcelWorksheet。
词典:
public static Dictionary<string, string> ExcelColumnsMapping = new Dictionary<string, string>()
{
{"property name", "column name"}
}
XLS
var excelFile = new FileInfo(importFileFullPath);
using (ExcelPackage package = new ExcelPackage(excelFile))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
}
我想知道如何找到包含所提供数据的单元格索引。我想看一个带有任何字符串或其他内容的示例。
谢谢你的帮助!
我不太明白你想做什么,但这是一种在 xlsx 文件中搜索值的方法,如果找到,returns 行和列。
using Excel = Microsoft.Office.Interop.Excel; //you should add the reference to that library for it to work
public Tuple<int, int> search(string Providedvalue)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
string str;
int rCnt;
int cCnt;
int rw = 0;
int cl = 0;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open("path/exemple.xlsx", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
rw = range.Rows.Count;
cl = range.Columns.Count;
bool found = false;
for (rCnt = 1; rCnt <= rw && found == false; rCnt++)
{
for (cCnt = 1; cCnt <= cl && found == false; cCnt++)
{
dynamic x = (range.Cells[rCnt, cCnt] as Excel.Range).Value2;
str = x.ToString();
if (Providedvalue == str)
{
int line = rCnt;
int column = cCnt;
return new Tuple<int, int>(line, column);
}
}
}
return null;
}
我在 c# 和 xlsx 文件中准备了一个字典,其中包含填充的列。如果单元格包含字典提供的值,我需要找到列和行的索引。
我正在使用 ExcelPackage 和 ExcelWorksheet。 词典:
public static Dictionary<string, string> ExcelColumnsMapping = new Dictionary<string, string>()
{
{"property name", "column name"}
}
XLS
var excelFile = new FileInfo(importFileFullPath);
using (ExcelPackage package = new ExcelPackage(excelFile))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
}
我想知道如何找到包含所提供数据的单元格索引。我想看一个带有任何字符串或其他内容的示例。 谢谢你的帮助!
我不太明白你想做什么,但这是一种在 xlsx 文件中搜索值的方法,如果找到,returns 行和列。
using Excel = Microsoft.Office.Interop.Excel; //you should add the reference to that library for it to work
public Tuple<int, int> search(string Providedvalue)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
string str;
int rCnt;
int cCnt;
int rw = 0;
int cl = 0;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open("path/exemple.xlsx", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
rw = range.Rows.Count;
cl = range.Columns.Count;
bool found = false;
for (rCnt = 1; rCnt <= rw && found == false; rCnt++)
{
for (cCnt = 1; cCnt <= cl && found == false; cCnt++)
{
dynamic x = (range.Cells[rCnt, cCnt] as Excel.Range).Value2;
str = x.ToString();
if (Providedvalue == str)
{
int line = rCnt;
int column = cCnt;
return new Tuple<int, int>(line, column);
}
}
}
return null;
}