asp.net 正由另一个进程,因此该进程无法访问此文件
{
// 根据模板文件创建副本
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();
foreach (DataRow row in dt.Rows)
{
// 增加记录
OleDbCommand cmd = new OleDbCommand("INSERT INTO [Sheet1$]([serial], [quyu], [name],[addr],[faren],[企业负责人],[质量负责人],[经营方式],[经营范围],[仓库地址],[许可证号],[发证机关],[许可证发证日期],[许可证有效日期],[药品养护人数],[药品验收人数],[质量管理人数],[药品保管人数],[岗位总人数],[在职情况]) VALUES(@serial,@quyu,@name,@addr,@faren,@企业负责人,@质量负责人,@经营方式,@经营范围,@仓库地址,@许可证号,@发证机关,@许可证发证日期,@许可证有效日期,@药品养护人数,@药品验收人数,@质量管理人数,@药品保管人数,@岗位总人数,@在职情况)", conn);
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");
conn.Close();
conn.Dispose();
Response.BinaryWrite(File.ReadAllBytes(filePath));
// 删除副本
File.Delete(filePath);
} 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();
foreach (DataRow row in dt.Rows)
{
// 增加记录
OleDbCommand cmd = new OleDbCommand("INSERT INTO [Sheet1$]([serial], [quyu], [name],[addr],[faren],[企业负责人],[质量负责人],[经营方式],[经营范围],[仓库地址],[许可证号],[发证机关],[许可证发证日期],[许可证有效日期],[药品养护人数],[药品验收人数],[质量管理人数],[药品保管人数],[岗位总人数],[在职情况]) VALUES(@serial,@quyu,@name,@addr,@faren,@企业负责人,@质量负责人,@经营方式,@经营范围,@仓库地址,@许可证号,@发证机关,@许可证发证日期,@许可证有效日期,@药品养护人数,@药品验收人数,@质量管理人数,@药品保管人数,@岗位总人数,@在职情况)", conn);
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");
conn.Close();
conn.Dispose();
Response.BinaryWrite(File.ReadAllBytes(filePath));
// 删除副本
File.Delete(filePath);
}
要是datatable数据少的时候,就不报错,要是数据一多就在 Response.BinaryWrite(File.ReadAllBytes(filePath));
这个地方报错“正由另一个进程,因此该进程无法访问此文件”什么情况
相关推荐
一个asp.net的小网站
一个asp.net的小网站,特贡献出来,适合入门提高阶段阅读!
解决.NET中NetCore程序在IIS部署时的“进程无法访问该文件,因为它正在被其他进程使用“错误
这些工具可以显示正在使用指定文件的进程列表。终止占用文件的进程:一旦确定了占用文件的进程,我们可以选择终止该进程以释放文件的锁定。在"Process Explorer"中,可以右键单击占用文件的进程,并选择"Kill Process"来终止该进程。以上是解决.NET中NetCore程序在IIS部署时出现"进程无法访问该文件,因为它正在被其他进程使用"错误的一些常见步骤。希望本文能帮助你解决在部署.Net Core程序到IIS时出现的"进程无法访问该文件,因为它正在被其他进程使用"错误。
先装了FRAMEWORK,后装IIS导致asp.net页面无法访问的解决方法
ASPX页面访问需要.net的支持。 请先检查是否安装了。NET, 打开IIS,在默认网站上点右键,如果没有ASP。NET选项卡则为没有安装或没有将。NET注册到IIS中。 1。没有安装,下 载。net framework 并安装,下载时注意版本,并不一定高版本就完全兼容低版本, 2。安装了但是没有注册到IIS中,开始-》运行-》cmd-》 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 您可能感兴趣的文章:在IIS上重新注册.NET Framework 2.0
解决ASP.NET 的进程帐户没有访问IIS的权限
解决ASP.NET 的进程帐户没有访问IIS的权限
asp.net 获取进程的信息
asp.net 获取进程的信息! 很值得下载看看!资源免费,大家分享!!


