如何在 c# (OleDbConnection) 上获取所有 xls 数据

How to get all xls data on c# (OleDbConnection)

我在 C# 中有一个函数可以从电子表格中获取数据

public DataSet getXlsData(HttpPostedFileBase file, string path)
{

   var fileName = Path.GetFileName(file.FileName);

   oledbConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"");

   oledbConn.Open();
   OleDbCommand cmd = new OleDbCommand();
   OleDbDataAdapter oleda = new OleDbDataAdapter();

   DataSet ds = new DataSet();

   cmd.Connection = oledbConn;
   cmd.CommandType = CommandType.Text;
   cmd.CommandText = "SELECT * FROM [Tasks$]";

   oleda = new OleDbDataAdapter(cmd);
   oleda.Fill(ds);
   oledbConn.Close();

   return ds;

}

当我想调试并查看 DataSet 上有什么时,除第一行外所有数据都在。

有人可以帮忙吗?

谢谢

如果您使用的是 HDR,您的第一行应该包含 header 个名字=是的, 否则它会将数据的第一行作为 header 名称,并且数据会填充到第二行 row.If 的行中,在这种情况下,您应该将其设置为 HDR=No。 因此,

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\""

使用这个,

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=No;IMEX=2\""