c#dev操作读取excel方法
一:使用spreadsheetControl1 方法
1:打开excel;
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
//if (Convert.ToInt32(trv_menu.SelectedNode.Tag) == 0)
//{
// MessageBox.Show("请先选择业务", "提示信息", MessageBoxButtons.OK);
// return;
//}
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "(*.xls)|*.xls|(*.xlsx)|*.xlsx|(*.csv)|*.csv";
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
spreadsheetControl1.LoadDocument(openFileDialog1.FileName);
}
spreadsheetControl1.ReadOnly = true;
}
2:读取按行读取excel 处理每行中列的数值
private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{ // status1.Visible = true;
//读取Excele方法
//当前数据行数
int rowCount = spreadsheetControl1.ActiveWorksheet.Cells.CurrentRegion.RowCount;
//当前数据列数
int columnCount = spreadsheetControl1.ActiveWorksheet.Cells.CurrentRegion.ColumnCount;
if (rowCount == && columnCount == )
{
MessageBox.Show("内容不能为空", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
for (int i = ; i < rowCount; i++)
{
string sr = spreadsheetControl1.ActiveWorksheet.Cells[i, ].Value.ToString();
if (sr == "")
{
// blankcount++;
blankcountEvent(this, e);
// btnblank.Text = blankcount.ToString(); ;
continue;
}
//for (int j = 0; j < columnCount; j++)
//{
string zyzsId = spreadsheetControl1.ActiveWorksheet.Cells[i, ].Value.ToString(); //这里取的是指定列的值. 第一列,第六列和第七列 然后做上传
string parentId = spreadsheetControl1.ActiveWorksheet.Cells[i, ].Value.ToString();
string parentName = spreadsheetControl1.ActiveWorksheet.Cells[i, ].Value.ToString();
string ip= "192.168.1.115";
//}
string url = "xxxxxxxxxx" + parentName;
string data =""/;
string result = HttpPost(url, data);
if(result=="ok")
{
// successcount++;
successcountEvent(this, e);
// btnupsuccount.Text= successcount.ToString();
}
else if(result == "fail")
{
// failedcount++;
failedcountEvent(this, e);
// btnfailedcount.Text = failedcount.ToString();
} }
}
总结:由于数据倒入到spreadsheetControl1 显示在窗体中没有实际操作,占用了资源.在上传时有卡顿现象,卡顿也有其他原因.总之这种是现实方式方式不值得推荐.
二:文件文件名加载到gridcontrol中 ,显示进度的方式
c#dev操作读取excel方法的更多相关文章
- 操作-读取excel
xlrd 该模块主要用来读取excel 注:sheet表示的是excel的表,就是底下的工作栏 (1) 打开excel文件并获取所有sheet import xlrd # 打开Excel文件读取数据 ...
- C#导入Excel|读取Excel方法
OleDbConnection读取 /// <summary> /// 返回Excel数据源 /// </summary> /// < ...
- python(读取excel操作-xlrd模块)
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 或者在cmd窗口 pip install ...
- python(读取 excel 操作 xlrd 模块)
一.安装 xlrd 模块 到 python 官网下载 http://pypi.python.org/pypi/xlrd 模块安装,前提是已经安装了 python 环境. 或者在 cmd 窗口 pip ...
- 读取excel表格以及生成自动化报告
数据库读取 标签(空格分隔): 数据库读取 读excel数据xlrd 当登录的账号有多个的时候,我们一般用excel存放测试数据,本节课介绍,python读取excel方法,并保存为字典格式. 1.先 ...
- Java中读取Excel功能实现_POI
这里使用apache的poi进行读取excel 1,新建javaproject 项目:TestExcel 2,导入包 包下载地址:http://poi.apache.org/download.html ...
- Selenium2+python自动化之读取Excel数据(xlrd)
前言 当登录的账号有多个的时候,我们一般用excel存放测试数据,本节课介绍,python读取excel方法,并保存为字典格式. 一.环境准备 1.先安装xlrd模块,打开cmd,输入pip inst ...
- python 的两个模块xlwt,xlrd,写入和读取Excel数据
http://www.cnblogs.com/fireme/p/3887284.html 这上面写的很全,不过我只需要简单的读和写的操作就ok了,下面是我写的读和写入Excel操作 读取Excel数据 ...
- spring boot 使用 POI 读取Excel文件
内容简介 本文主要介绍使用POI进行Excel文件的相关操作,涉及读取文件,获取sheet表格,对单元格内容进行读写操作,以及合并单元格的操作. Excel文件目录 Excel模板文件存了resour ...
随机推荐
- Intellij IDEA使用spring-boot-devtools无效解决办法(2018年3月9日11:46:00)
步骤一:pom.xml中加入: <dependency> <groupId>org.springframework.boot</groupId> <artif ...
- MySQL 数据 导入到 SQL Service
1.下载安装ODBC驱动程序 地址:http://dev.mysql.com/downloads/connector/odbc/ 注意:系统的版本问题( 我的是64位的win7系统,但是SQL Ser ...
- Redis安装完后redis-cli无法使用(redis-cli: command not found)已使用
wget http://download.redis.io/redis-stable.tar.gz(下载redis-cli的压缩包) tar xvzf redis-stable.tar.gz(解压) ...
- 关于OPEN_MAX宏undeclared的问题
最近在看unp时,I/O复用-poll一章的代码使用到了OPEN_MAX.据书中描述,这一宏定义在limits.h头文件中,指代一个进程在任意时刻能打开的最大描述符数目.但在代码编译时遇到了错误,提示 ...
- GsonFormat的使用 (转)
一.Android Studio快速添加Gson 具体操作: 1.File->Project Structure: 2.app->Dependencies->&qu ...
- Javascript之基本类型和引用类型
ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值,基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象. 在将一个值赋给变量时,解析器必须确定这个值是基本 ...
- leetcode 树类型题
树的测试框架: // leetcodeTree.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream& ...
- ucore-lab1-练习4report
练习四:分析bootloader加载ELF格式的OS的过程 1.bootloader如何读取硬盘扇区? (1)在练习3中实现了bootloader让CPU进入保护模式,下一步的工作就是从硬盘上加载并 ...
- VIM常见命令
1.删除所有数据 进入到第1行按下d,然后输入G回车,此时内容被全部清除 2.替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所 ...
- 树形DP(记忆化搜索) HYSBZ - 1509
题目链接:https://vjudge.net/problem/HYSBZ-1509 我参考的证明的论文:8.陈瑜希<多角度思考 创造性思维>_百度文库 https://wenku.ba ...