datatable 怎么每次foreach都是都是同样的数据啊 求高手

Z_X_S_ 2012-03-20 04:20:32

private void DaochuEXCEl(DataTable dt)
{
// 根据模板文件创建副本
string filePath = Server.MapPath("~/excel/Fuben.xls");
File.Copy(Server.MapPath("~/excel/demo.xls"), filePath);
// 使用OleDb驱动程序连接到副本
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0;");
using (conn)
{
conn.Open();
// 增加记录
OleDbCommand cmd = new OleDbCommand("INSERT INTO [Sheet1$]([serial], [quyu], [name],[addr],[faren],[企业负责人],[质量负责人],[经营方式],[经营范围],[仓库地址],[许可证号],[发证机关],[许可证发证日期],[许可证有效日期],[药品养护人数],[药品验收人数],[质量管理人数],[药品保管人数],[岗位总人数],[在职情况]) VALUES(@serial,@quyu,@name,@addr,@faren,@企业负责人,@质量负责人,@经营方式,@经营范围,@仓库地址,@许可证号,@发证机关,@许可证发证日期,@许可证有效日期,@药品养护人数,@药品验收人数,@质量管理人数,@药品保管人数,@岗位总人数,@在职情况)", conn);
foreach (DataRow row in dt.Rows)
{
cmd.Parameters.AddWithValue("@serial", row["serial"].ToString());
cmd.Parameters.AddWithValue("@quyu", row["quyu"].ToString());
cmd.Parameters.AddWithValue("@name", row["name"].ToString());
cmd.Parameters.AddWithValue("@addr", row["addr"].ToString());
cmd.Parameters.AddWithValue("@faren", row["faren"].ToString());
cmd.Parameters.AddWithValue("@企业负责人", row["企业负责人"].ToString());
cmd.Parameters.AddWithValue("@质量负责人", row["质量负责人"].ToString());
cmd.Parameters.AddWithValue("@经营方式", row["经营方式"].ToString());
cmd.Parameters.AddWithValue("@经营范围", row["经营范围"].ToString());
cmd.Parameters.AddWithValue("@仓库地址", row["仓库地址"].ToString());
cmd.Parameters.AddWithValue("@许可证号", row["许可证号"].ToString());
cmd.Parameters.AddWithValue("@发证机关", row["发证机关"].ToString());
cmd.Parameters.AddWithValue("@许可证发证日期", row["许可证发证日期"].ToString());
cmd.Parameters.AddWithValue("@许可证有效日期", row["许可证有效日期"].ToString());
cmd.Parameters.AddWithValue("@药品养护人数", row["药品养护人数"].ToString());
cmd.Parameters.AddWithValue("@药品验收人数", row["药品验收人数"].ToString());
cmd.Parameters.AddWithValue("@质量管理人数", row["质量管理人数"].ToString());
cmd.Parameters.AddWithValue("@药品保管人数", row["药品保管人数"].ToString());
cmd.Parameters.AddWithValue("@岗位总人数", row["总人数"].ToString());
cmd.Parameters.AddWithValue("@在职情况", row["在职情况"].ToString());
cmd.ExecuteNonQuery();
}
}
// 输出副本的二进制字节流
Response.ContentType = "application/ms-excel";
Response.AppendHeader("Content-Disposition", "attachment;filename=info.xls");
Response.BinaryWrite(File.ReadAllBytes(filePath));
// 删除副本
File.Delete(filePath);
}
...全文
113 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 z_x_s_ 的回复:]

找到问题了 是sql语句 的问题每次都只加第一个
不过还是要谢谢你
[/Quote]
那就只有。。。你懂得
Z_X_S_ 2012-03-21
  • 打赏
  • 举报
回复
找到问题了 是sql语句 的问题每次都只加第一个
不过还是要谢谢你
孟子E章 2012-03-20
  • 打赏
  • 举报
回复
foreach (DataRow row in dt.Rows)
{
cmd.Parameters.Clear();
...

加之前先清空
Z_X_S_ 2012-03-20
  • 打赏
  • 举报
回复
以上 代码是小弟写的一个导出excel 可是每次都出的 都是同样的数据 现在很迷茫

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧