如何在EPPlus中获取范围

有谁知道如何在EPPlus中执行以下内容。

以下是使用VSTO的方式。 我试图从工作表中获得一些特定的范围。

sheet.get_Range("7:9,12:12,14:14", Type.Missing) 

你可以使用这个

 ExcelPackage pck = new ExcelPackage() var ws = pck.Workbook.Worksheets.Add("Sheet1"); ExcelRange cells = ws.Cells[1, 1, 1, 10];//get 10 cells in row 1 

我不完全熟悉`get_Range',但基于它的工作原理,就像EPPlus的单元格对象一样。 所以这:

 [TestMethod] public void Multi_Range_Test() { //Throw in some data var datatable = new DataTable("tblData"); datatable.Columns.Add(new DataColumn("Col1", typeof(int))); datatable.Columns.Add(new DataColumn("Col2", typeof(int))); datatable.Columns.Add(new DataColumn("Col3", typeof(int))); for (var i = 0; i < 20; i++) { var row = datatable.NewRow(); row[0] = i; row[1] = i * 10; row[2] = i * 100; datatable.Rows.Add(row); } var existingFile2 = new FileInfo(@"c:\temp\temp.xlsx"); if (existingFile2.Exists) existingFile2.Delete(); using (var package = new ExcelPackage(existingFile2)) { //Add the data var sheet = package.Workbook.Worksheets.Add("Sheet1"); sheet.Cells.LoadFromDataTable(datatable, true); var range = sheet.Cells["7:9,12:12,14:14"]; foreach (var rangeBase in range) { Console.WriteLine("{{{0} : {1}}}", rangeBase.Address, rangeBase.Value); } //Save the file package.Save(); } } 

结果在输出窗口中:

 {A7 : 5} {B7 : 50} {C7 : 500} {A8 : 6} {B8 : 60} {C8 : 600} {A9 : 7} {B9 : 70} {C9 : 700} {A12 : 10} {B12 : 100} {C12 : 1000} {A14 : 12} {B14 : 120} {C14 : 1200}