需求:
客户上传excel订单表 他有自己的字段名称,现在要根据这张excel的商品名称查询数据的产品表的产品是否存在。如果存在就把这张excel导入到数据库并且还新增数据产品表的价钱这列.
我的难点
现在要根据这张excel的商品名称查询数据的产品表的产品是否存在
(我的想法是先查询一条excel数据的商品名称.在去数据库查有就返回商品价钱,没有就返回0.并且把价钱这列加到excel。然后全部导入到数据表中.不知道是否是正确的而且具体的我也不会写)。
有哪位前辈能告诉最好用代码写出来。也可以QQ发给我:505608653。
最后50分了, 没办法给多了。
客户上传excel订单表 他有自己的字段名称,现在要根据这张excel的商品名称查询数据的产品表的产品是否存在。如果存在就把这张excel导入到数据库并且还新增数据产品表的价钱这列.
我的难点
现在要根据这张excel的商品名称查询数据的产品表的产品是否存在
(我的想法是先查询一条excel数据的商品名称.在去数据库查有就返回商品价钱,没有就返回0.并且把价钱这列加到excel。然后全部导入到数据表中.不知道是否是正确的而且具体的我也不会写)。
有哪位前辈能告诉最好用代码写出来。也可以QQ发给我:505608653。
最后50分了, 没办法给多了。
解决方案 »
- 如何让模版列中的控件顺序随机出现
- .net 操作office(excel、word)咋搞?
- MSSQL数据库设计问题,请教
- 急急急,怎么在事件里动态调用已定义的方法
- 有做在线软件方面的人吗
- 请问打印的功能如何实现
- 在<a href=""></a>里面使用用一个数据库变量存储的链接地址,请高手帮忙
- DropDownList 在绑定SqlDatasource的时候
- 紧急求救!!!在线等待!!!安装VS2003时提示少了一个文件
- 谁能详细的讲一讲PetShop的缓存机制?
- 为什么程序运行时能自动修改动态控件的ID, 导致我在前端写的javascript无法用
- 新手,请多指教请问cmd.CommandText = "select user_pwd from Table_user where user_id='"+id.
public void bindExcel(string name)
{
// 读取Excel数据,填充DataSet
// 连接字符串
string ph = string.Format("Upload\\{0}", name);
string xlsPath = Server.MapPath(ph);
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";" + // 指定扩展属性为 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),并且第一行作为数据返回,且以文本方式读取
"data source=" + xlsPath;
string sql_F = "SELECT * FROM [{0}]"; OleDbConnection conn = null;
OleDbDataAdapter da = null;
DataTable tblSchema = null;
IList<string> tblNames = null; // 初始化连接,并打开
conn = new OleDbConnection(connStr);
conn.Open(); // 获取数据源的表定义元数据
//tblSchema = conn.GetSchema("Tables");
tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); //GridView1.DataSource = tblSchema;
//GridView1.DataBind(); // 关闭连接
//conn.Close(); tblNames = new List<string>();
foreach (DataRow row in tblSchema.Rows)
{
tblNames.Add((string)row["TABLE_NAME"]); // 读取表名
if (tblNames[0].ToString() == "Sheet1$")//只取第一个
break; ;
} // 初始化适配器
da = new OleDbDataAdapter();
// 准备数据,导入DataSet
DataSet ds = new DataSet();
foreach (string tblName in tblNames)
{
da.SelectCommand = new OleDbCommand(String.Format(sql_F, tblName), conn);
try
{
da.Fill(ds, tblName);
}
catch
{
// 关闭连接
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
throw;
}
} // 关闭连接
if (conn.State == ConnectionState.Open)
{
conn.Close();
} // 对导入DataSet的每张sheet进行处理
// 这里仅做显示
//gd.DataSource = ds.Tables[0];
//gd.DataBind(); }
通过一个导入事件获取路径,这里只贴了Excel导入的方法,
代码没怎么整理,你就凑合着用吧,看是否有帮助!