读取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. 廖雪峰js教程笔记 1

    遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Array.Map和Set都属于iterable类型. 具有iterabl ...

  2. mongodb学习03 操作详解

    插入文档 db.test.insert({"name":"jinks"}); 批量插入 db.test.insert([{}, {}, {}]); 一次批量插入 ...

  3. python 线程之 threading(一)

    threading:基于对象和类的较高层面上的接口,threading模块在内部使用_thread模块来实现线程的对象以及常用的同步化工具的功能. 使用定制类的方式继承 threading.Threa ...

  4. 为什么使用BeagleBoneBeagleBone的优点

    为什么使用BeagleBone BeagleBone的优点 当前,一个典型的基于微控制器板的售价在120元左右,而BeagleBone Black的售价在330元左右.除了更强大的处理器之外,你额外的 ...

  5. node EventEmitter 注册事件

    var EventEmitter = require("events").EventEmitter var event = new EventEmitter() event.on( ...

  6. jquery笔记(基础知识)

    最近在学jquery,做点小笔记 语法: $(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有 <p> 元素 $("p . ...

  7. Docker中搭建Hadoop-2.6单机伪分布式集群

    1 获取一个简单的Docker系统镜像,并建立一个容器. 1.1 这里我选择下载CentOS镜像 docker pull centos 1.2 通过docker tag命令将下载的CentOS镜像名称 ...

  8. 安装配置hive中遇到的问题

    1. mysql中添加用户名时总出现如下问题:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables ...

  9. CF# 334 Moodular Arithmetic

    B. Moodular Arithmetic time limit per test 1 second memory limit per test 256 megabytes input standa ...

  10. OpenCV 第一课(安装与配置)

    OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...