Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从电子表格中获取单元格值_C#_Excel_Openxml_Spreadsheet_Openxml Sdk - Fatal编程技术网

C# 从电子表格中获取单元格值

C# 从电子表格中获取单元格值,c#,excel,openxml,spreadsheet,openxml-sdk,C#,Excel,Openxml,Spreadsheet,Openxml Sdk,我有一个包含10列的电子表格,例如,我想通知单元格值和列,并获取包含在单元格中的值,该值位于找到的同一行中,但位于不同的列中 例如,在图片中,我想给出单元格值“b”和列A,然后搜索找到“b”的行,从同一行但在不同列中获取值,在示例列H中,值为“PPP”。首先,将其与其余的“using”指令一起放在文件顶部(您需要设置对Excel互操作程序集的引用): 然后执行以下操作打开工作表,以便在C#中访问它: 请记住,Excel的行和列是基于1的,而不是基于0的,因此最左上方的单元格是[1,1] Exce

我有一个包含10列的电子表格,例如,我想通知单元格值和列,并获取包含在单元格中的值,该值位于找到的同一行中,但位于不同的列中


例如,在图片中,我想给出单元格值“b”和列A,然后搜索找到“b”的行,从同一行但在不同列中获取值,在示例列H中,值为“PPP”。

首先,将其与其余的“using”指令一起放在文件顶部(您需要设置对Excel互操作程序集的引用):

然后执行以下操作打开工作表,以便在C#中访问它:

请记住,Excel的行和列是基于1的,而不是基于0的,因此最左上方的单元格是[1,1]

Excel.Range myCell = worksheet.Cells[1, 1];
string myValue = myCell.Value2;

请注意,有“excel”(小写e)和“excel”(大写e)。“excel”变量是excel应用程序的一个实例。“excel”是一个命名空间,用于访问excel命名空间(Microsoft.Office.Interop.excel)中的类型,如“工作簿”和“范围”。

考虑使用
VLOOKUP()
这与OpenXML有什么关系?我需要在C#应用程序中获得该值,谢谢。您还可以获得一整行,如“Excel.Range myRow=worksheet.Rows[3];然后获得一个单元格值,如“myRow[2].Value2”,这样您就可以在行中的列中循环查找您试图匹配的值。
string ExcelFilePath = "somepath";
string WorksheetName = "sheet1";//or whatever the name of your worksheet is
var excel = new Excel.Application();
excel.DisplayAlerts = false;
excel.Visible = true;

Excel.Workbook workbook = excel.Workbooks.Open(ExcelFilePath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Worksheet worksheet = workbook.Worksheets[WorksheetName];
Excel.Range myCell = worksheet.Cells[1, 1];
string myValue = myCell.Value2;