在Excel中读取一些行

当我尝试读取Excel文档的特定行时遇到一些问题。

我的实现是在这里: 阅读Excel中的C#,其中一些列是空的 。 你怎么看,整个Excel都被带入了一个DataTable。

现在我想得到一个特定的n值范围:

在这里输入图像说明

我认为是DataTable的问题…我想也许我应该获得另一个DataTable …也许使用另一个不同的查询?

看来你正在使用一个固定的模板,所以你可以解决在不同的范围使用不同的查询。

要select一个特定的范围,你可以使用这个查询:

string query = "SELECT * FROM [YourSheet$B58:D70]"; 

如果您知道范围的起始位置,但不知道行数,则可以使用以下语法:

 string query = "SELECT * FROM [YourSheet$B58:D]"; 

在连接string中使用HDR=NO并更改起始行,可以使用此查询来简化您的下一个操作:

 SELECT [F1] AS Compagnia, [F2] AS Agenzia, [F3] AS DataSinistro FROM [YourSheet$B59:D] 

请记住,您也可以使用WHERE筛选结果或排除空行; 即:

 SELECT [F1] AS Compagnia, [F2] AS Agenzia, [F3] AS DataSinistro FROM [YourSheet$B59:D] WHERE [F3] IS NOT NULL