C# 如何将Excel中的命名范围与OleDB一起使用?
我正在尝试使用ASP.NET/C#从Excel中的特定命名区域提取数据。下面是我试图提取的一个示例 我想要的是使用名称“RANGE_NAMED”的“B”、“C”、“D”。有可能用OleDB实现这一点吗 致以最良好的祝愿C# 如何将Excel中的命名范围与OleDB一起使用?,c#,asp.net,excel,oledb,extract,C#,Asp.net,Excel,Oledb,Extract,我正在尝试使用ASP.NET/C#从Excel中的特定命名区域提取数据。下面是我试图提取的一个示例 我想要的是使用名称“RANGE_NAMED”的“B”、“C”、“D”。有可能用OleDB实现这一点吗 致以最良好的祝愿 亚历克斯。你可以试试这个代码 using(OleDbConnection c = new OleDbConnection(con)) { c.Open(); string selectString = "SELECT * FROM [RANGE_NAMED]";
亚历克斯。你可以试试这个代码
using(OleDbConnection c = new OleDbConnection(con))
{
c.Open();
string selectString = "SELECT * FROM [RANGE_NAMED]";
using(OleDbCommand cmd1 = new OleDbCommand(selectString))
{
cmd1.Connection = c;
var result = cmd1.ExecuteReader();
while(result.Read())
{
Console.WriteLine(result[0].ToString());
}
}
}
好的,这很明显,我不知道为什么第一次它不起作用
SELECT * FROM RANGE_NAMED
我得到了B,C,D.因为我知道查询只是从范围中提取文本数据。这可以用于对范围内的单元格执行
HasFormula
吗?如果您参考了,我想不会,因为这不是通过互操作使用的,只是OleDbI看到了该链接,只是想知道OleDb
中是否有这样的属性。无论如何,我们可以序列化上面结果中的范围
,并在通过读卡器读取时将其反序列化为C#中的excel范围。我只是想大声说出来——如果你能指出任何相关的信息,那就太好了。我不能让这个工作。它跳过while循环。我的命名范围中只有一个值,这会影响它吗?