public MainForm()
{
InitializeComponent();
//this.ofd_in.DefaultExt = ".xlsx";
this.ofd_in.Filter = "Excel文件(*.xlsx)|*.xlsx";
}
// code.GetSheetName getname = new code.GetSheetName();
private void btnDr_Click(object sender, EventArgs e)
{
if (ofd_in.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.txtFileName.Text = ofd_in.FileName.ToString();
List<Model.ExcelSheet> lst = code.GetSheetName.ExcelSheetName(ofd_in.FileName.ToString());
cmbBox.DataSource = lst;
cmbBox.DisplayMember = "SheetName";
cmbBox.ValueMember = "Id"; //ImportExcel(ofd_in.FileName, "[Sheet1$]");//传递excel文件名,和表名
}
} /// <summary>
/// 从选择的excel导入
/// </summary>
/// <returns></returns>
public void ImportExcel(string ExcelName, string Tablename)
{
// string strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelName + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1';";//连接excel文件的字符串 string strcon = "Provider=Microsoft.Ace.OleDb.12.0;data source=" + ExcelName + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; //此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
if (ExcelName == null)
{
return;
}
OleDbConnection odcon = new OleDbConnection(strcon);//建立连接
odcon.Open();//打开连接 //把数据集dataset放到控件中显示
OleDbDataAdapter odda = new OleDbDataAdapter("select * from " + Tablename, odcon);
DataSet ds = new DataSet();
try
{
odda.Fill(ds);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
if (ds != null)
{ this.dgvdata.DataSource = ds.Tables[]; }
else
{
MessageBox.Show("没有数据");
}
} private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
} /// <summary>
/// 保存,选中的datagridview的值
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
int selectedCellCount = dgvdata.GetCellCount(DataGridViewElementStates.Selected);
if (selectedCellCount > )
{
if (dgvdata.AreAllCellsSelected(true))
{
MessageBox.Show("All cells are selected", "Selected Cells");
}
else
{
StringBuilder sb = new StringBuilder(); for (int i = ;
i < selectedCellCount; i++)
{
sb.Append("Row: ");
int rows = dgvdata.SelectedCells[i].RowIndex;
sb.Append(rows.ToString());
sb.Append(", Column: ");
int columns = dgvdata.SelectedCells[i].ColumnIndex;
sb.Append(columns.ToString());
sb.Append(",Value: ");
sb.Append(dgvdata.Rows[rows].Cells[columns].Value.ToString());
sb.Append(Environment.NewLine);
} sb.Append("Total: " + selectedCellCount.ToString());
MessageBox.Show(sb.ToString(), "Selected Cells");
}
}
} /// <summary>
/// 加载对应的sheet页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSearch_Click(object sender, EventArgs e)
{
dgvdata.DataSource = null;
var sheetname = this.cmbBox.Text.Trim(); ;
ImportExcel(this.txtFileName.Text, "["+sheetname+"]");
}

C#Winform版获取Excel文件的内容的更多相关文章

  1. VB6.0 获取Excel文件工作表Sheet的名称

    获取Excel文件工作表Sheet的名称 '产生Excel文档 Dim xlapp, xlbook As Object Dim sSheetName As String Set xlapp = Cre ...

  2. C#可以获取Excel文件中Sheet的名字

    C#可以获取Excel文件中Sheet的名字吗 C#可以获取Excel文件中Sheet的名字吗 我试过WPS的表格可以 可以 要代码么 百度都有 [深圳]Milen(99696619)  14:13: ...

  3. .NetCore获取json文件配置内容

    .netcore中的数据配置及内容用了json文件代替了之前framework的xml文件,那么json中的数据该怎么获取呢?下面讲解json文件在.net core中的获取方法. 首先,新建一个.n ...

  4. C#读取excel文件的内容(使用DataSet)

    C#读取Excel文件的内容,通过OLEDB来连接,关键是连接的路径,如:string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data S ...

  5. C#中获取Excel文件的第一个表名

    //    2.以数据库方式打开并输入数据//      此方式将xls文件所在目录看作数据库,其中的xls文件看作数据库表,表名即文件名(不加扩展名).//      函数importExcelTo ...

  6. 获取properties文件的内容

    获取properties文件的内容 public void test() throws Exception{ String resource = "application.propertie ...

  7. 用PHPExcel类读取excel文件的内容

    这里对PHPExcel类不做介绍,有兴趣的朋友可以自己查阅资料 在classes文件夹下有个PHPExcel.php文件,这个文件是这个类库的主要入口文件,在用之前,要引入这个类 其他的类,在此类中会 ...

  8. Python之excel文件追加内容

    首先要安装三个模块:xlrd,xlwt,xlutils 命令:pip install xlrd xlwt xlutils 示例代码: #!/usr/bin/env python # -*- codin ...

  9. winform下读取excel文件并绑定datagridview例子

    首先我要读取这个excel文件然后生成Datable 用winform编程的方式 前台界面: 后台的代码 using System; using System.Collections.Generic; ...

随机推荐

  1. 通过java发送http请求

    通常的http请求都是由用户点击某个连接或者按钮来发起的,但是在一些后台的Java程序中需要发送一些get或这post请求,因为不涉及前台页面,该怎么办呢? 下面为大家提供一个Java发送http请求 ...

  2. 【SQL】导出表数据到Excel中

    打开数据库之后点击新建表查询: ------------------------------------------------------------------------------------ ...

  3. cocos2d-x 3.0环境搭建

    原文来自于:http://blog.csdn.net/linzhengqun/article/details/21663341 安装工具 1. 配置JDK JDK下载地址:http://www.ora ...

  4. Visio Premium 2010密钥+破解激活方法

    Visio Premium 2010密钥+破解激活方法: 在安装时能够使用下面密钥: GR24B-GC2XY-KRXRG-2TRJJ-4X7DC VWQ6G-37WBG-J7DJP-CY66Y-V27 ...

  5. ${var}变量替换

    ${age},${name} 给定一个上下文 Map<String,String> context 使用上下文替换变量private static final Pattern VAR_PA ...

  6. iOS开发——实用篇Swift篇&状态栏操作

    状态栏操作 在Swift开发过程中,针对状态栏操作的过程有很多. 1.在ViewController中操作当前ViewController的状态栏 /** 隐藏状态栏 */ override func ...

  7. iOS开发——实用篇&KVO与KVC详解

    KVO与KVC详解 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby.Python的动态特性,例如动态类型.动态加载.动态绑定等.今天我们着重介绍ObjC中的键值编码(KVC ...

  8. vim中设置Python自动补全

    转自:http://blog.csdn.net/wangzhuo_0717/article/details/6942428 在VIM里面增加python的autocomplete功能的做法如下: 1. ...

  9. C++重载(主要介绍使用友元函数重载)

    重载限制 多数C++运算符都可以用下面的方式重载.重载的运算符不必是成员函数,但必须至少有一个操作数是用户自定义的类型.下面详细介绍C++对用户定义的运算符重载的限制. 1 重载后的运算符必须至少有一 ...

  10. VRP相关知识整理

    一.扩展问题分类: ★ the capacitated vehicle routing problem (CVRP) , 即classical VRP ★ the vehicle routing pr ...