#region 将EXEC 文件写入数据集中
/// <summary>
/// 将EXEC 文件写入数据集中
/// 2008 - 06-21 11:09 wubin
/// </summary>
/// <param name="FileName">文件的路径名</param>
/// <param name="sheetName">EXEC 表表名</param>
/// <param name="colName">EXEC 的列名</param>
/// <returns></returns>
public DataSet ReadExec(string FileName, string sheetName, List<string> colName)
{
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + FileName + ";Extended Properties = Excel 8.0"; OleDbConnection con = new OleDbConnection(connectionString); StringBuilder colStrName = new StringBuilder("");
string myColStrName = ""; if (colName.Count > 0)
{
foreach (string str in colName)
{
colStrName.Append(str);
colStrName.Append(",");
}
myColStrName = colStrName.ToString().Substring(0, colStrName.Length - 1); //去掉最后的 , 号
} try
{
con.Open(); DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(" SELECT " +myColStrName + " FROM [" + sheetName + "$]", con);//这里老是提示不是有效名称。就是那个我画了颜色的地方、myColStrName是Exec 表的列头、[" + sheetName + "$]我写的是Exec 表的名称(文件名)。是不是我这个[" + sheetName + "$]地方赋值有问题?改怎么写。大家看看、给点意见。 da.Fill(ds, "result"); return ds;
}
catch (Exception err)
{
MessageBox.Show(err.ToString());
return null;
}
finally
{
con.Close();
}
#endregion
}
/// <summary>
/// 将EXEC 文件写入数据集中
/// 2008 - 06-21 11:09 wubin
/// </summary>
/// <param name="FileName">文件的路径名</param>
/// <param name="sheetName">EXEC 表表名</param>
/// <param name="colName">EXEC 的列名</param>
/// <returns></returns>
public DataSet ReadExec(string FileName, string sheetName, List<string> colName)
{
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + FileName + ";Extended Properties = Excel 8.0"; OleDbConnection con = new OleDbConnection(connectionString); StringBuilder colStrName = new StringBuilder("");
string myColStrName = ""; if (colName.Count > 0)
{
foreach (string str in colName)
{
colStrName.Append(str);
colStrName.Append(",");
}
myColStrName = colStrName.ToString().Substring(0, colStrName.Length - 1); //去掉最后的 , 号
} try
{
con.Open(); DataSet ds = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(" SELECT " +myColStrName + " FROM [" + sheetName + "$]", con);//这里老是提示不是有效名称。就是那个我画了颜色的地方、myColStrName是Exec 表的列头、[" + sheetName + "$]我写的是Exec 表的名称(文件名)。是不是我这个[" + sheetName + "$]地方赋值有问题?改怎么写。大家看看、给点意见。 da.Fill(ds, "result"); return ds;
}
catch (Exception err)
{
MessageBox.Show(err.ToString());
return null;
}
finally
{
con.Close();
}
#endregion
}
表的名称!=文件名
文件名是文件名,表是文件里的一个sheet