如何使用Open XML获取特定行上的列的单元格引用?

时间:2015-06-25 09:02:04

标签: vb.net excel openxml

我有一个Excel,

 A      B        C      D
 --    ---      ---    ---
                 3      4
 7      8        9      10

在Interop.Excel中我使用。

xlSheet.Cells(1, 3).Formula.ToString

获取第1行第3列的值,结果为3 OR

xlSheet.Cells(1, 2).Formula.ToString

获取第1行第2列的值,结果为空字符串

如何使用Open XML进行此操作?

1 个答案:

答案 0 :(得分:1)

使用openxml,您可以使用.RowId和.ColumnId来选择特定的单元格,然后使用LINQ可以让您按原样操作数据。 有关详细示例,请参阅此http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2011/07/18/query-open-xml-spreadsheets-in-vb-net-using-linq.aspx

再看一遍后,这个解决方案应该可行

Using doc As SpreadsheetDocument = SpreadsheetDocument.Open("Data.xlsx", False)
        Dim worksheet As WorksheetPart = doc.WorkbookPart.GetPartById(0)
        Dim cell as Cell = worksheet.rows(yourRow).collumns(yourCollumn)
        return cell.value
End using

如果没有,也许你将不得不做一个foreach循环,但如果你有大量的数据那就不太可取了