原帖地址:http://blog.csdn.net/cpp2017/archive/2008/04/02/2245396.aspx
利用OELDB数据访问对象操作Excel文件,达到将数据导出到Excel的目的,这种方法可能用的人不太多,缺点是必须有一个存在的Excel文件。优点是服务器不需要安装Excel,且生成的Excel是标准的Excel格式可以当作数据源使用。
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("age", typeof(int));
dt.Columns.Add("phone");
dt.Rows.Add("老张", 40,"99213812");
dt.Rows.Add("小李", 28,"a21313");
dt.Rows.Add("小王", 22,"2131434");


string FileName = Guid.NewGuid().ToString()+".xls";

string sNewFullFile = Server.MapPath(FileName);
try
{
File.Copy(Server.MapPath("format.xls"), sNewFullFile);
}
catch (Exception er)
{
Response.Write(er.Message);
return;
}



string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=True;Data Source=" + sNewFullFile + ";Extended Properties=Excel 8.0;";
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
OleDbCommand cmd = null;

bool bRet = false;
try
{
conn.Open();
cmd = new OleDbCommand("create table [sheet4]([姓名] Text,[年龄] int,[电话] Text)",conn);
cmd.ExecuteNonQuery();

string strSQL = "INSERT INTO [Sheet4$] ([姓名], [年龄],[电话]) VALUES (?, ?, ?)";

cmd = new OleDbCommand(strSQL, conn);

for (int i = 0; i < 3; i++)
{
cmd.Parameters.Add(i.ToString(), OleDbType.VarChar);
}



DataView dv = dt.DefaultView;
foreach (DataRowView row in dv)
{
cmd.Parameters[0].Value = row["name"].ToString();
cmd.Parameters[1].Value =(int) row["age"];
cmd.Parameters[2].Value = row["phone"].ToString();
cmd.ExecuteNonQuery();
}
bRet = true;
}
catch (Exception er)
{
Response.Write(er.Message);
}
finally
{
if (cmd != null)
{
cmd.Dispose();
}
conn.Dispose();
}
if(bRet)
Response.Redirect(FileName);
利用OELDB数据访问对象操作Excel文件,达到将数据导出到Excel的目的,这种方法可能用的人不太多,缺点是必须有一个存在的Excel文件。优点是服务器不需要安装Excel,且生成的Excel是标准的Excel格式可以当作数据源使用。
准备工作:
1)先用准备一个Excel文件,这个Excel文件可以是空的,或是有一定格式的当做数据模板使用。
2)将操作的目录给ASP.NET用户(ASPNET 或NETWORK SERVICE)写入权限。
以下是示例:
说明一下:如果这个模板文件是个空文件,则需要使用Create Table创建一个工作表,否则只需使用已有的表进操作就可以了。











































































分类:
ASP.Net-C#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
2006-12-27 asp.net创建文件夹出错的解决方案[转]
2006-12-27 解读RSS新闻聚合的未来