WinForm窗体下Excel的导入
一、Winform窗体程序的Excel的导入
把Excel导入到内存中的DataTable
方法实现:
#region ExcelToDataTable
public static DataTable ExcelToDataTable(string strExcelFileName,string strSheetName)
{
try
{
//源的定义
string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + strExcelFileName + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\"";
//Sql语句
string strExcel = string.Format("select * from [{0}$] ", strSheetName);
//string strExcel = "select * from [sheet1$] "; //定义存放的数据表
DataSet ds = new DataSet(); //连接数据源
OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); //适配到数据源
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName); conn.Close(); return ds.Tables[strSheetName];
}
catch
{
return null;
}
}
}
#rendregion
导入事件实现:
首先是Excel导入检验和获取数据
#region 导入Excel
private void ExportExcelExport_EventExport(object sender, EventArgs e)
{
#region Excel导入检验和获取数据
if (this.textFilePath.Text == "")
{
MessageBox.Show("请选择要导入的文件!");
return;
}
if (!File.Exists(textFilePath.Text))
{
MessageBox.Show("该路径下文件不存在!");
return;
}
MessageProcess.InfoShow("开始读取文件数据.........");
DataSet dsTmp = CommonMethod.ExcelToDataTable(this.textFilePath.Text);
DataTable exceldt = dsTmp.Tables[];
if (OperateUI.HaveData(exceldt))
{
MessageProcess.InfoShow("成功获取数据,开始进行数据处理");
}
else
{
MessageProcess.InfoShow("获取不到数据,可能文件有误");
return;
}
#endregion
}
#endregion
导入Excel成功后,可以进行excel中的数据,与数据库的数据进行比较,或者修改数据的数据等一系列操作。
by author:Foreordination
2018-02-01 10:40:52
WinForm窗体下Excel的导入的更多相关文章
- WinForm窗体上两个panel,怎么实现一个panel固定漂浮在另一个panel之上
问题:winform窗体,要实现一个panel漂浮在另一个panel之上,但是运行的时候移动鼠标或者其他操作,上面那个panel就会消失?即只能显示一个panel. 原因:在窗体上拖放控件肉眼观察是平 ...
- 小数运算需要注意什么? 接口和抽象类 WinForm窗体上两个panel,怎么实现一个panel固定漂浮在另一个panel之上
小数运算需要注意什么? 1. 生活中0.1+0.2=0.3, 计算机中可不是这样,为什么呢? 大家都知道计算机类型都是有数据范围的.整形int范围是 正负21亿左右,小数类型同样也是有范围的,但是即使 ...
- SNF开发平台WinForm之十-Excel导入-SNF快速开发平台3.3-Spring.Net.Framework
7.1运行效果: 2.Excel导入开发实现 2.1. 创建窗体,修改命名空间 新增的窗体命名“FrmImport表名”,这个导入窗口比较其它窗口会特殊一些,需要继承BaseFormImport父级窗 ...
- EXCEL数据导入dataset
一.开工必备 1.micorosoft office2007 2.VS2010.Oracle 11 二.界面 三.内部代码 (1)获取数据库连接,定义全局变量 private static strin ...
- Excel文件导入SQL Server数据库
Excel表格的使用可谓是非常广泛,博主也简单百度了一下Excel的发展. 发展历程: 1982年 Microsoft推出了它的第一款电子制表软件-Multiplan,并在CP/M系统上大 Excel ...
- kettle将Excel数据导入oracle
导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/17 ...
- WinForm 窗体属性 窗体美化
WinForm是·Net开发平台中对Windows Form的一种称谓. Windows窗体的一些重要特点如下: 功能强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的 ...
- 使用NPOI组件完成的Excel导出导入(附源代码,测试通过)
最近遇到一个Excel导入导出的问题,要支持winform和webform,这里我是一个认真严谨的coder,所以决定把这个记录下来!和大家一起分享一下!如果需要的同学可以下载哦! 对于NPOI这个组 ...
- winform窗体置顶
winform窗体置顶 金刚 winform 置顶 今天做了一个winform小工具.需要设置置顶功能. 网上找了下,发现百度真的很垃圾... 还是必应靠谱些. 找到一个可以链接. https://s ...
随机推荐
- C++ 电路布线/最短路径问题
问题描述 用二维数组表示地图,若值为 1 则表示有障碍物,若值为 0 则表示可以通行. 输入: m*n 的二维数组,布线起点坐标,布线终点坐标. 输出: 最短布线距离以及对应的布线路径. 问题分析 从 ...
- python模块-random随机数模块
导入随机数模块import random 1.random.random() 生成[0,1)之间的随机小数 2.random.randint(a,b) 生成[a,b]之间的随机整数 3.random. ...
- Linux启动vi编辑器时提示E325: ATTENTION解决方案
Linux启动vi编辑器时提示E325: ATTENTION解决方案 Vi编辑器是Linux的文本编辑器,在Linux系统的运用非常广泛,不少朋友在打开Vi编辑器的时候提示E325: ATTENTIO ...
- 02: shell中的if、case、for等语句
目录: 1.1 shell中常用运算符 1.2 使用if条件语句 1.3 shell 中的for循环 1.4 shell中的while循环语句 1.5 使用case分支语句 1.1 shell中常用运 ...
- payload
payload就是协议报文中的有效载荷所占报文的百分比,用报文中去除协议的长度/报文总长度,协议设计的时候需要考虑到有效载荷所占的比重,避免出现payload很小的情况,比如TCP在设计的时候,就考虑 ...
- String & dp Problem Round 3 2017.4.22
对每一个特征求前缀和,如果它减去前面的某一个地方的和,得到的每个特征是相等的,那么然后就可以更新答案. 需要解决这个两个问题 1.如何使答案尽量大? 这个很简单,直接找尽量靠前的地方就好了. 2,如何 ...
- 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 4 章 答案
判断对错 1.利用 grAphiCs.py 可以在 Python 的 shell 窗口中绘制图形.2.传统上,图形窗口的左上角坐标为(0,0).3.图形屏幕上的单个点称为像素.4.创建类的新实例的函数 ...
- C Looooops(扩展欧几里得)题解
A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; variable != ...
- label表单的关联性
<input type="checkbox" id="cr" /> <label for="cr">点击关联复选框& ...
- C#学习笔记(九):函数、代码查询和调试
代码查询和调试 代码查询 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...