我有一个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进行此操作?
答案 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循环,但如果你有大量的数据那就不太可取了