如何将Excel文件的一部分转换为C#中精简的数据集?

我有一个Excel文档与多个工作表。

我已经上传并使用下面的代码将文件转换为DataTable对象:

 FileStream stream = File.Open(SourceUpload.Fullpath, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); //xlsx file format ds = excelReader.AsDataSet(); 

如果100000行可用,此代码将转换整个文件,但我希望DataSet包含此数据的一个子集(1000行和1000列)。

这是可能的,我该怎么办?

你可以使用一些Linq来实现这一点。 所以像这样:

 DataTable dt = //get data from excel or wherever IEnumerable<DataRow> data = dt.AsEnumerable().Select(a => a).Take(1000);//Select everything but only take the top 1000 records DataTable someTable = data.CopyToDataTable(); //copy the data //finally add it to our data set DataSet ds = new DataSet(); ds.Tables.Add(someTable); 

请注意,上面的代码片段来自我的头顶,我没有testing过。