操作Excel的一个有用实例及从EXCEL第N行开始取数据
来源:互联网 发布:广州软件培训学校 编辑:程序博客网 时间:2024/04/28 18:27
private DataSet FindInfoFromExcel(string stFilePath,string tableName,string stFiles,string stPrimaryKey,string stCondition,string stRows,string stBeginRowcount,int flag)
{
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;"
+ "data source=" + stFilePath + ";"
+ "Extended Properties=Excel 8.0;";
String strSql = string.Empty;
OleDbConnection objConn = new OleDbConnection(strConn);
objConn.Open();
if (stRows != "" && flag==1)
{
//strSql = "Select top(1) " + stFiles + " From [" + tableName + "] order by " + stPrimaryKey + "";
strSql = "Select top "+stRows+" * From [" + tableName + "$"+stFiles+"]";
}
else if(flag==2 && stBeginRowcount!="")
{
strSql = "select top " + stRows + " * from [" + tableName + "$" + stFiles + "] where idx not in (select top " + stBeginRowcount + " idx from [" + tableName + "$]) ";
}
else if(flag ==3)
{
//strSql = "Select " + stFiles + " From [" + tableName + "] order by " + stPrimaryKey + "";
//strSql = "Select " + stFiles + " From [" + tableName + "$A:B]";
strSql = "Select * From [" + tableName + "$" + stFiles + "]";
}
FindInfoFromExcel(Excel存放路径,Excel要导入的sheet表名,Excel表的列名,数据库表的主健,查询Excel的where条件,读取Excel的行数,从Excel的第几行开始读取,Flag就是灵活的执行下面的查找Excel的方式)
flag=1 为导出第一行 ,flag =2 指定从第几行开始导出 ,flag=3 导出整个Excel表
---------------------------------------------------------------------------------------------------------------------
我测试了下,好像第一行永远都取不到(不管第一行是表头或是表内容[XP+VS2005+excel2003])
用SQL语句取出时,第二行才算第一笔记录
设我的excel是三列(A,B,C)
//以下为查询第二行开始的,所有记录
string strExcel ="select * from [sheet1$A1:C65535]";//sheet1为表名
//以下为查询第五行开始的,所有记录
string strExcel ="select * from [sheet1$A4:C65535]";//sheet1为表名
从其它行只需改变AN中的N就可以了
也可以只取一列
select * from [sheet1$B1:B65535]
完整实现:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("~/yyy.xls") + ";" + "Extended Properties=Excel 8.0;";//HDR=Yes,红色为EXCEL文件
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [sheet1$A3:C65535]"; //EXCEL文件里的表
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
conn.Close();
return ds;
- 操作Excel的一个有用实例及从EXCEL第N行开始取数据
- 操作Excel的一个有用实例及从EXCEL第N行开始取数据
- 编写一个函数,取一个小数的第n(-10<=n<=16)位,当n大于0时,从小数点位置开始向右取小数部分第n位,当n小于0时,从小数点位置开始向左取整数部分的第n位。
- EXCEL或者WPS excel 某列从某行开始以上或以下全选的操作 ,某行从某列开始的以后全选
- sqilte操作 -- 取排序的第N条数据
- Matlab 从第N行开始读取数据
- 一组有用的操作Excel的函数
- 一组有用的操作Excel的函数
- excel的一个技巧,很有用
- 数据库中,从第N条记录开始,取M条记录的select语句写法
- 从excel谈数据相关操作
- 如何从excel的多行中随机选出n行
- Java POI 读取Excel-从开始到实例
- Excel:获得第N名的行号
- sql server查询的数据导入excel及从excel查询(转)
- excel表格数据的操作
- C# 数据导出Excel,及Excel各种操作
- 针对从数据库取大量数据导出到Excel的记录摘要
- Android:GestureDetector手势识别类
- Excel导入SQL SERVER,数字和字符会被系统自动置为NULL的解决方法
- __cyg_profile_func_enter print function nam
- zoj2977Strange Billboard (状态压缩+枚举)
- Python3基础(五) 函数
- 操作Excel的一个有用实例及从EXCEL第N行开始取数据
- "><img src=x onerror=alert(1);>
- poj 1018 Communication System
- 新疆莎车暴恐案细节:打馕老人一句话智退暴徒
- ORACLE 查看CPU 使用率
- 大话设计模式(C++实现)--简单工厂模式
- 传Win9桌面Charms菜单栏大改造 类似win7融合win8
- ACM题:晚上请开灯 (改写最小拦截系统) 别吐槽
- VC 获取 exe 文件的版本号