C#操作Excel(读取)
一.使用OleDb,这个法子好像不大好使.容易读错.
引用System.Data.OleDb;
/// 返回Excel数据源
/// </summary>
/// <param name="filename">文件路径</param>
/// <returns></returns>
static public DataSet ExcelToDataSet(string filename)
{
DataSet ds;
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=Excel 8.0;" +
"data source=" + filename;
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
ds = new DataSet();
myCommand.Fill(ds);
myConn.Close();
return ds;
}
二.使用com.
导入Microsoft.Excel
使用命名空间
using Excel= Microsoft.Office.Interop.Excel;
using System.Diagnostics;
{
private Excel._Application excelApp;
private string fileName=string.Empty;
private Excel.WorkbookClass wbclass;
public ExcelHelper(string _filename)
{
excelApp = new Excel.Application();
object objOpt = System.Reflection.Missing.Value;
wbclass = (Excel.WorkbookClass)excelApp.Workbooks.Open(_filename, objOpt, false, objOpt, objOpt, objOpt, true, objOpt, objOpt, true, objOpt, objOpt, objOpt, objOpt, objOpt);
}
/**//// <summary>
/// 所有sheet的名称列表
/// </summary>
/// <returns></returns>
public List<string> GetSheetNames()
{
List<string> list = new List<string>();
Excel.Sheets sheets = wbclass.Worksheets;
string sheetNams = string.Empty;
foreach (Excel.Worksheet sheet in sheets)
{
list.Add(sheet.Name);
}
return list;
}
public Excel.Worksheet GetWorksheetByName(string name)
{
Excel.Worksheet sheet=null;
Excel.Sheets sheets= wbclass.Worksheets;
foreach (Excel.Worksheet s in sheets)
{
if (s.Name == name)
{
sheet = s;
break;
}
}
return sheet;
}
/**//// <summary>
///
/// </summary>
/// <param name="sheetName">sheet名称</param>
/// <returns></returns>
public Array GetContent(string sheetName)
{
Excel.Worksheet sheet = GetWorksheetByName(sheetName);
//获取A1 到AM24范围的单元格
Excel.Range rang = sheet.get_Range("A1", "AM24");
//读一个单元格内容
//sheet.get_Range("A1", Type.Missing);
//不为空的区域,列,行数目
// int l = sheet.UsedRange.Columns.Count;
// int w = sheet.UsedRange.Rows.Count;
// object[,] dell = sheet.UsedRange.get_Value(Missing.Value) as object[,];
System.Array values = (Array)rang.Cells.Value2;
return values;
}
public void Close()
{
excelApp.Quit();
excelApp = null;
}
}
转载于:https://www.cnblogs.com/wwwzzg168/p/3572039.html
C#操作Excel(读取)相关推荐
- java excel读取操作,Java 操作 Excel (读取Excel2003 2007,Poi兑现)
Java 操作 Excel (读取Excel2003 2007,Poi实现) 一. Apache POI 简介( http://poi.apache.org/) 使用Java程序读写Microsoft ...
- JS操作Excel读取和写入(模板操作)
前一段时间一直在做报表,所以肯定会用到Excel的操作,但是在网上查阅资料有关JS操作excel较少,有的话,也都是老生常谈或很零碎的一些东西.本人是在实际项目中摸索出,JS读写Excel(模板)数据 ...
- java poi 操作 excel 读取本地Excel / 保存excel到本地 / url下载excel
pom.xml 配置poi版本 <dependency><groupId>org.apache.poi</groupId><artifactId>poi ...
- python 操作Excel入门到进阶
目录 openpyxl操作Excel 读取工作簿(公式) 保存工作簿 写入内容 表(sheet) 创建表 选择表(sheet) 查看表名 删除工作表 修改表名称 单元格(cell) 获取表格尺寸大小 ...
- python与excel做数据可视化-python操作Excel、读取CVS与数据可视化
1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...
- python3字典写入excel_python3:excel操作之读取数据并返回字典 + 写入的案例
excel写入数据,使用openpyxl库 class WriteExcel: def __init__(self,path): self.path = path def write_excel(se ...
- fastexcel读取excel追加写入sheet页_python笔记52:python操作excel
主要内容: 小目标:掌握excel模块 主要内容:excel相关模块,openpyxl安装使用 如果看完这篇文章,你还是弄不明excel相关操作: 你来找我,我保证不打你,我给你发100的大红包. 1 ...
- c语言从excal读取字符串,C语言操作EXCEL文件(读写)
C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节) C语言读操作 C语言写操作 在之前需要使用C ...
- hssfwork 导出excel 文件已损坏_C# NPOI 操作EXCEL文件的读取和导出
在实际项目中有很多场景遇到需要操作EXCEL文件,而常用到的库就有NPOI:NPOI是开源的POI 项目的.NET版,POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目, ...
最新文章
- Android通过Chrome Inspect调试WebView
- 使用示例_使用 COMSOL 软件模拟不规则形状并构建几何模型示例
- IIS 支持 ajax 跨域
- 《中国人工智能学会通讯》——8.2 自然界中的鸽群导航行为
- 《剑指offer》第1~11题:刷题week1[C++题解]
- 一个不错的shell 脚本教程 入门级
- VTK:Filtering之TriangulateTerrainMap
- GAN生成对抗网络-SSGAN原理与基本实现-半监督学习GAN-08
- php switch goto,PHP goto语句用法实例
- awk教程入门与实例练习(二)
- jeecg扩展字段,非实体属性
- (转)Java 调用 C++ (Java 调用 dll)
- LRU算法的实现(STL+模拟)
- java之Calendar类
- ORacle异常:ORA-00980:同义词转换不再有效
- 一个能和企鹅一样飞的创意
- 数据安全管理软件-企业如何保护数据安全?
- 电报注册_更秘密的电报
- grafana+alertmanager 微信报警发送给不同告警人
- 世界顶级思维(必须收藏)
热门文章
- c# winform程序调用托管dll(c#的dll),使用添加引用和动态加载dll
- Linux环境 文件分割的方法
- Dockerfile 指令详解2
- NoSQL(1)之 Redis的五大数据类型使用方法的详细介绍
- 【教女朋友学网络系列1】之OSI与TCP/IP
- javascript字典中添加数组_如何在JavaScript中使用数组方法:Mutator方法
- ii 组合总和_40. 组合总和 II – 力扣(LeetCode)
- 图像缩放算法_opencv缩放算法
- salt-api配置
- 车主无忧:为什么放弃开源Kafka?