如何在 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\""
我在 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\""