读取Excel数据

/// <summary>
/// 封装方法
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public DataSet gridview(string path)//path路径
{
//导入头 //2003版的头
            OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0;\";Data Source=" + path);
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}  设置IMEX=1 时将强制混合数据转换为文本
Excel读取数据默认为8行 就推测每列的数据类型   

 解决方法 :         
设置IMEX=1 时将强制混合数据转换为文本(不能根本解决,数据过大时) 修改注册表 修改注册表的Jet-->4.0-->Engines-->Excel的TypeGuessRows的值为0 (根本解决)
写入数据库:
 public string how( string path)
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0;\";Data Source=" + path);
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
da.Fill(ds);
string sql = string.Empty;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sql += string.Format("insert into class values({0},'{1}','{2}','{3}')", ds.Tables[0].Rows[i][0].ToString(),ds.Tables[0].Rows[i][1].ToString(),ds.Tables[0].Rows[i][2].ToString(),ds.Tables[0].Rows[i][3].ToString());
}
int rowcount = SqlHelper.ExecuteNonQuery(sql);
if (rowcount > 0)
{
return "ok";
}
else
{
return "no";
}
}

  

写入Excel:

   private bool   showAdd( string path, string id)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
System.Data.OleDb.OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
string sql;
if (id == null)
{
sql = string.Format("select * from class ");
}
else
{
sql = string.Format("select * from class where id =" + id);
}
DataSet ds = SqlHelper.ExecuteDataSet( sql,null );
int RowCount = ds.Tables[0].Rows.Count;
for (int j = 0; j < RowCount; j++)
{
string xh = ds.Tables[0].Rows[j][0].ToString();//学号
string xm = ds.Tables[0].Rows[j][1].ToString();//姓名
string xb = ds.Tables[0].Rows[j][2].ToString();//性别
string ca = ds.Tables[0].Rows[j][3].ToString();//班级
cmd.CommandText = "INSERT INTO [sheet1$](编号,姓名,性别,班级) VALUES('" + xh + "','" + xm + "','" + xb + "','"+ca+"')";
cmd.ExecuteNonQuery();
}
conn.Close();
cmd.Dispose();
return true;
}

  





Excel报表开发的更多相关文章

  1. Excel报表开发(本节主要讲述导出到Excel操作)

    一.Excel导入到GridView以及数据库操作比较简单,这儿不做过多讲解,需要注意的有二点: 1.设置IMEX=1将强制混合数据转换为文本. 2.解决Excel驱动程序默认读取8行:将" ...

  2. excel报表开发-- 根据datatable个数自动生成新sheet

    总结一下很久之前做的报表小程序,今日有问题又调试了一下. DB中存在一个表,记录了ID<自增长>,SqlStatement<sql查询语句>及其他必要字段,比如SheetNam ...

  3. Excel报表开发(主要讲Excel的导入和导出)

    一.Excel数据导入 连接字符串Excel2003版: OleDbConnection conn = new OleDbConnection("provider=Microsoft.Jet ...

  4. 使用C#和Excel进行报表开发(三)-生成统计图(Chart)

    有的Web项目选用Excel作为报表方案,在服务器端生成Excel文件,然后传送到客户端,由客户端进行打印.在国内的环境下,相对PDF方式,Excel的安装率应该比pdf阅读器的安装率要高,同时,微软 ...

  5. iNeuOS工业互联网操作系统,在线报表(Excel)开发工具

    目       录 1.      概述... 2 2.      视频介绍... 2 3.      应用过程... 2 1.   概述 iNeuOS工业互联网操作系统在线报表(Excel)工具的开 ...

  6. 在.NET中使用EPPlus生成Excel报表 .

    --摘抄自:http://blog.csdn.net/zhoufoxcn/article/details/14112473 在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的 ...

  7. 利用JasperReport+iReport进行Web报表开发

    用JasperReport+iReport进行Web报表开发 序言 在非常多实际的项目里,报表都是当中十分重要的组成部分,比如把查询结果以报表的形式呈现出来.这里所提到的报表可不是简单的二维表,而是拥 ...

  8. Grid++Report 报表开发工具

      Grid++Report 报表开发工具   版本 更新日期 大小 下载 说明 Grid++Repoert6.0.0.6 2015/08/08 16.0M [下载] 锐浪报表工具最新版本,新增功能说 ...

  9. 使用JasperReport+iReport进行Web报表开发

    使用JasperReport+iReport进行Web报表开发 前言 在实际工程中非常,报告是其中很重要的一部分,结果以报表的形式呈现出来.这里所提到的报表可不是简单的二维表,而是拥有复杂表头的.多维 ...

随机推荐

  1. POJ 2750 Potted Flower (线段树区间合并)

    开始懵逼找不到解法,看了网上大牛们的题解才发现是区间合并...  给你n个数形成一个数列环,然后每次进行一个点的修改,并输出这个数列的最大区间和(注意是环,并且区间最大只有n-1个数) 其实只需要维护 ...

  2. Notification

    一:普通Notification 1.内容标题setContentTitle(...) 2.大图标setLargeIcon(Bitmap) 3.内容setContentText(...) 4.内容附加 ...

  3. 各浏览器抗uaf机制

    今年中旬,微软针对旗下ie浏览器中大量出现的uaf漏洞,对ie浏览器的安全机制进行了一个大幅度的升级,其中主要体现为隔离堆及延迟释放两个机制,顿时又将uaf漏洞的利用向上提升了一个大坎, 但是类似的对 ...

  4. js Array对象

    http://www.w3cschool.cc/js/js-obj-array.html 创建新方法 原型是JavaScript全局构造函数.它可以构建新Javascript对象的属性和方法. 实例: ...

  5. matlab坐标外围背景变白色

    set(gcf,'Color',[1,1,1]) 默认图片是这样的: 出图之前使用命令,外围变白后效果如下:

  6. Oil Deposits(dfs)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  7. 创建com服务器

    Delphi Com深入编程 第二章:

  8. 【转】win8.1下安装ubuntu

    参考:http://jingyan.baidu.com/article/14bd256e0ca52ebb6d26129c.html Ubuntu 系统是一款优秀的.基于GNU/Linux 的平台的桌面 ...

  9. 餐厅外卖app第三天

    n听

  10. bug提交模板

    简述所属版本所属模块严重等级优先级分配给[网络情况][前置条件][详情描述] 1. 2. 3.[预期结果][实际结果][历史版本][备注][是否补充用例] 另外: 1.若和界面有关的bug尽量提供对应 ...