C# 将Excel里面的数据填充到DataSet中
/// <summary>
/// 将Excel表里的数据填充到DataSet中
/// </summary>
/// <param name="filenameurl">Excel文件的路径(包含文件名)</param>
/// <param name="table">Excel的文件名</param>
/// <returns></returns>
public static DataSet ExecleDs(string filenameurl, string table)
{
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=" + filenameurl + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
odda.Fill(ds, table);
return ds;
}
//应用示例
/// <summary>
/// 导入Excel信息
/// </summary>
/// <param name="context"></param>
/// <param name="returnMsg"></param>
/// <returns></returns>
public bool ImportInfo(HttpContext context, ref string returnMsg)
{
bool isError = true;
try
{
string FilePath = HttpContext.Current.Request.Files["file1"].FileName; //获取上传的文件名
if (FilePath != "")
{
string IsXls = System.IO.Path.GetExtension(FilePath).ToString().ToLower();//获取文件的后缀名
if (IsXls == ".xls" || IsXls == ".xlsx") //判断是否是Excel文件
{
string FileRoot = ""; //文件保存路径
string FileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + IsXls;//更改文件名(用当前的时间命名)
HttpContext.Current.Request.Files["file1"].SaveAs(context.Server.MapPath(FileRoot + FileName));//保存上传的文件
DataSet ds = ExecleDs(HttpContext.Current.Server.MapPath(FileRoot + FileName), FileName);//读取excel文件内容 填充到DataSet
DataRow[] dr = ds.Tables[0].Select();//定一个DataRow数组
int rowsNum = ds.Tables[0].Rows.Count; //行总量
if (rowsNum == 0) //判断excel是否为空
{
returnMsg = "Excel表为空表,无数据!";
return false;
}
DataTable dt = ds.Tables[0];
string code = "";
for (int i = 0; i < dr.Length; i++)
{
//数据处理
//if (dr[i].Table.Columns.Contains("行标题") && dr[i]["行标题"] != null)
//{
// if (dr[i]["行标题"].ToString().Trim() == "")
//{
// returnMsg = "第" + (i + 2) + "行的**不能为空,请修改后重新导入!";
//return false;
//}
//code = dr[i]["行标题"].ToString().Trim();
//}
//else
//{
// returnMsg = "缺少**列,请修改后重新导入!";
//return false;
//}
}
return isError;
}
else
{
returnMsg = "只可以选择Excel文件!";
return false;
}
}
else
{
returnMsg = "请选择要导入的Excel文件!";
return false;
}
}
catch(Exception ex)
{
returnMsg = "系统发生未知错误,请联系系统管理员!";
return false;
}
}
C# 将Excel里面的数据填充到DataSet中的更多相关文章
- .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】
1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...
- ECharts SSH+JQueryAjax+Json+JSP将数据库中数据填充到ECharts中
本文引用自:http://blog.csdn.net/ArcticFoxHan/article/details/38071641 1.导入包,搭建SSH框架 导入Jquery的JS包,<sc ...
- 使用OpenXml把Excel中的数据导出到DataSet中
public class OpenXmlHelper { /// <summary> /// 读取Excel数据到DataSet中,默认读取所有Sheet中的数据 /// </sum ...
- MVC客户端使用 Mustache.js把json数据填充到模版中
使用Mustache的好处是:可以把一些反复用到的html部分定义成Mustache模版,以便多次使用.使用Mustache的大致步骤是: →从后台拿到json数据 →获取前台页面预先定义好Musta ...
- excel文件与txt文件互转,并且把excel里的数据导入到oracle中
一.excel文件转换成txt文件的步骤 a.首先要把excel文件转换成txt文件 1.Excel另存为中已经包含了TXT格式,所以我们可以直接将Excel表格另存为TXT格式,但是最后的效果好像不 ...
- sqlserver怎么将excel表的数据导入到数据库中
在数据库初始阶段,我们有些数据在EXCEL中做好之后,需要将EXCEL对应列名(导入后对应数据库表的字段名),对应sheet(改名为导入数据库之后的表名)导入指定数据库, 相当于导入一张表的整个数据. ...
- Excel数据导入至Dataset中
public static DataSet ExcelToDataSet(string ppfilenameurl,string pptable) { string strConn = "P ...
- C#导入导出Excel表的数据
一:C#导入导出EXCEL文件的类 代码如下: 首先将Microsoft Excel 14.0 Object Library 引用导入 using System; using System.Data; ...
- 检验Excel中数据是否与数据库中数据重复
#region 记录Excel中的重复列 /// <summary> /// 记录Excel中的重复列 /// </summary> /// <param name=&q ...
随机推荐
- PHP之道(PHP The Right Way)
原文地址:http://laravel-china.github.io/php-the-right-way/
- mysql读写分离--一主多从,冗余存储
转载了https://blog.csdn.net/u013421629/article/details/78793966 https://blog.csdn.net/justdb/article/de ...
- nioServerChannel的的状态
转载自https://blog.csdn.net/zxhoo/article/details/17964353 Channel继承层次图分析上面提到的三个状态的时候,会去看Channel继承层次里某些 ...
- Flutter学习四之实现一个支持刷新加载的列表
上一篇文章用Scaffold widget搭建了一个带底部导航栏的的项目架构,这篇文章就来介绍一下在flutter中怎么实现一个带下拉刷新和上拉加载更多的一个列表,这里用到了pull_to_refre ...
- msf学习笔记
metasploit frame 这是一个渗透测试框架,围绕这个框架,我们就可以完成最终的目标,即渗透测试. 渗透测试者困扰:需要掌握数百个工具,上千条命令参数,很难记住. 新出现的漏洞PoC/EXP ...
- System Verilog随笔(1)
测试文件该怎么写? 首先看一个简单代码案例: `timescale 1ns/10ps //1 module test; //2 intput wire[15:0] a; output reg[15 ...
- Dominate【操作系统的经典算法】
此篇文章我们来谈一谈操作系统中都出现过哪些算法,请欣赏下图 ↓ 进程和线程管理中的算法 进程和线程在调度时候出现过很多算法,这些算法的设计背景是当一个计算机是多道程序设计系统时,会频繁的有很多进程或者 ...
- Go 安装介绍
Go介绍 Go语言被誉为21世纪的C语言,由Google公司开发,天生对高并发有着优秀的支持.并且语法极度简洁,关键字仅有25个. 所以使用Go语言时你不用担心自己写的和大神写的有着天差地别,Go语言 ...
- Hibernate4.3基础知识1
一.Hibernate 开发环境搭建 4.3 1.导包 2.创建hibernate.cfg.xml配置文件 3.创建实体类 4.创建映射文件 实体类名.hbm.xml 配置文件 二.h ...
- 一篇文章带你了解Java OOP思想
Java OOP 思想深度刨析 Java面向对象编程 面向对象编程简称OOP(Object--对象.Oriendted--导向的.Programming--程序设计) 面向对象通俗来讲,就是指使用丰富 ...