从Excel中读取列索引和列值

我有ac#应用程序,它从Excel文件中读取数据。

我用了

Range xlRng = (Range)workSheet.get_Range("A1:B6", Missing.Value);

这个从A1读取值到B6单元格

如果我给了一个范围,我需要读取一个字典的值,键名必须是单元格索引,值必须是相应的单元格值

核心价值

A1值1

B1值2

A2值3

B2价值4

你也可以试试这个

 Excel.Range xlRng = (Excel.Range)workSheet.get_Range("A1:B6", Type.Missing); Dictionary<string, string> dic = new Dictionary<string, string>(); foreach (Excel.Range cell in xlRng) { string cellIndex = cell.get_AddressLocal(false, false, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing); string cellValue = Convert.ToString(cell.Value2); dic.Add(cellIndex, cellValue); } 

如果您将使用Excel命名空间与我一样,所以不要忘记导入命名空间

 using Excel = Microsoft.Office.Interop.Excel; 

我希望这将是有益的

你有没有试过EPPlus ?

这里是示例代码,将做你想要的:

 void Main() { var existingFile = new FileInfo(@"c:\temp\book1.xlsx"); // Open and read the XlSX file. using (var package = new ExcelPackage(existingFile)) { // Get the work book in the file ExcelWorkbook workBook = package.Workbook; if (workBook != null) { if (workBook.Worksheets.Count > 0) { // Get the first worksheet ExcelWorksheet sheet = workBook.Worksheets.First(); // read some data Dictionary<string,double> cells = (from cell in sheet.Cells["A1:B6"] where cell.Start.Column == 1 select sheet.Cells[cell.Start.Row,cell.Start.Column,cell.Start.Row,2].Value) .Cast<object[,]>() .ToDictionary (k => k[0,0] as string, v => (double)(v[0,1])); //do what you need to do with the dictionary here....! } } } }