Asp.net/c#+OleDb操作excel文件
2013-01-16 15:08
225 查看
Asp.net/c#+OleDb操作excel文件
、环境配置:加入using System.OleDb
2、编写连接与操作excel文件的通用函数
protected
void DoOleSql(string sql,
string database)
{
OleDbConnection conn =
new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("\\") + database +
"; Extended Properties='Excel 8.0;HDR=no;IMEX=0'";
try
{//打开连接
conn.Open();
}
catch (Exception e)
{
Response.Write(e.ToString());
}
OleDbCommand olecommand =
new OleDbCommand(sql, conn);
try
{//执行语句
olecommand.ExecuteNonQuery();
}
catch (Exception eee)
{
Response.Write(eee.ToString());
conn.Close();
}
finally
{
conn.Close();//关闭数据库
}
conn.Close();
}
注:1)使用 Excel 工作簿时,默认情况下,区域中的第一行是标题行(或字段名称)。如果第一个区域不包含标题,您可以在连接字符串的扩展属性中指定 HDR=NO。如果您在连接字符串中指定 HDR=NO,Jet OLE DB 提供程序将自动为您命名字段(F1 表示第一个字段,F2 表示第二个字段,依此类推);2)IMEX=1将所有读入数据看作字符,其他值(0、2)请查阅相关帮助文档;3)如果出现“找不到可安装的isam”错误,一般是连接字符串错误
3、从excel文件读取数据
string sql =
"select * from [sheet1$]";
DoOleSql(sql,"test.xls");
4、更新excel文件中的数据
string sql =
"update [sheet1$] set FieldName1='333' where FieldName2='b3'";
DoOleSql(sql,"test.xls");
5、向excel文件插入数据
string sql =
"insert into [sheet1$](FieldName1,FieldName2,…) values('a',’b’,…)";
DoOleSql(sql,"test.xls");
6、删除excel文件中的数据:不提倡使用这种方法
7、对于非标准结构的excel表格,可以指定excel中sheet的范围
1)读取数据:string sql =
"select * from [sheet1$A3:F20]";
2)更新数据:string sql =
"update [sheet1$A9:F15] set FieldName='333' where AnotherFieldName='b3'";
3)插入数据:string sql =
"insert into [sheet1$A9:F15](FieldName1,FieldName2,…) values('a',’b’,…)";
4)删除数据:不提倡
注:1)代码根据需要可以自行修改;2)如果出现“操作必须使用一个可更新的查询”错误,可能sql语句中对excel文件中的“字段”引用有错误,或对excel文件不具有“修改”权限;3)如果出现“不能扩充选定范围”错误,可能是对excel文件引用的“范围”有错误。
、环境配置:加入using System.OleDb
2、编写连接与操作excel文件的通用函数
protected
void DoOleSql(string sql,
string database)
{
OleDbConnection conn =
new OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("\\") + database +
"; Extended Properties='Excel 8.0;HDR=no;IMEX=0'";
try
{//打开连接
conn.Open();
}
catch (Exception e)
{
Response.Write(e.ToString());
}
OleDbCommand olecommand =
new OleDbCommand(sql, conn);
try
{//执行语句
olecommand.ExecuteNonQuery();
}
catch (Exception eee)
{
Response.Write(eee.ToString());
conn.Close();
}
finally
{
conn.Close();//关闭数据库
}
conn.Close();
}
注:1)使用 Excel 工作簿时,默认情况下,区域中的第一行是标题行(或字段名称)。如果第一个区域不包含标题,您可以在连接字符串的扩展属性中指定 HDR=NO。如果您在连接字符串中指定 HDR=NO,Jet OLE DB 提供程序将自动为您命名字段(F1 表示第一个字段,F2 表示第二个字段,依此类推);2)IMEX=1将所有读入数据看作字符,其他值(0、2)请查阅相关帮助文档;3)如果出现“找不到可安装的isam”错误,一般是连接字符串错误
3、从excel文件读取数据
string sql =
"select * from [sheet1$]";
DoOleSql(sql,"test.xls");
4、更新excel文件中的数据
string sql =
"update [sheet1$] set FieldName1='333' where FieldName2='b3'";
DoOleSql(sql,"test.xls");
5、向excel文件插入数据
string sql =
"insert into [sheet1$](FieldName1,FieldName2,…) values('a',’b’,…)";
DoOleSql(sql,"test.xls");
6、删除excel文件中的数据:不提倡使用这种方法
7、对于非标准结构的excel表格,可以指定excel中sheet的范围
1)读取数据:string sql =
"select * from [sheet1$A3:F20]";
2)更新数据:string sql =
"update [sheet1$A9:F15] set FieldName='333' where AnotherFieldName='b3'";
3)插入数据:string sql =
"insert into [sheet1$A9:F15](FieldName1,FieldName2,…) values('a',’b’,…)";
4)删除数据:不提倡
注:1)代码根据需要可以自行修改;2)如果出现“操作必须使用一个可更新的查询”错误,可能sql语句中对excel文件中的“字段”引用有错误,或对excel文件不具有“修改”权限;3)如果出现“不能扩充选定范围”错误,可能是对excel文件引用的“范围”有错误。
相关文章推荐
- Asp.net/c# OleDb操作excel文件
- Asp.net/c#+OleDb操作excel文件
- Asp.net/c#+OleDb操作excel文件(二),数据传输使用Parameters
- Asp.net中操作EXCEL文件(C#)
- Asp.net/c#+OleDb操作excel文件,基本操作 (一)
- Asp.net/c#+OleDb操作excel文件(二),数据传输使用Parameters
- Asp.net/c#+OleDb操作excel文件
- 用C#生成Excel文件的方法,Excel.dll组件生成的方法和设置用ASP.NET操作访问权限
- CuteEditor5.0的安装及它与Ajax.net配合无刷新操作数据库 (asp.net C#)
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 关于ASP.NET/C#中对Cookie的操作
- asp.net c#中对cookie的操作
- ASP .Net C# 下对Word的操作开发资料
- asp.netC#对服务器文件的操作
- 关于asp.net c#中对cookie的操作
- C#以OleDb的方式操作Excel文件(二)
- ExtJs4.0+ASP.net(c#) 操作XML文件
- 在ASP.NET访问Excel文件(VBandC#)
- c#操作excel方式二:采用OleDB操作Excel文件
- asp.net c#中对cookie的操作