C# 读取Excel内容
一.方法
1.OleD方法实现该功能。
2.本次随笔内容只包含读取Excel内容,并另存为。
二.代码
(1)找到文档代码
OpenFileDialog openFile = new OpenFileDialog();
openFile.Filter = "Excel(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls";
openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
openFile.Multiselect = false;
if (openFile.ShowDialog() == false) { return; } var filePath = openFile.FileName;
string fileType = System.IO.Path.GetExtension(filePath)
(2)打开文档代码
string connStr = "";
if (fileType == ".xls")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
else
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
string sql_F = "select * from [sheet1$]"; OleDbConnection conn = null;
OleDbDataAdapter da = null; try
{
conn = new OleDbConnection(connStr);
conn.Open();
sql_F是Linq语句,查询sheet1内所有数据,如果有特定筛选可以把*换成筛选内容,这个大家都懂,sheet1被重命名过的就更改下语句内sheet1。该语句用在后面筛选。
OleDbDataAdapter 用于和上述linq语句检索字符串。
OleDbConnection 定义个与数据源的连接。
(3)获取cell数据
try
{
conn = new OleDbConnection(connStr);
conn.Open(); da = new OleDbDataAdapter(sql_F, connStr); DataTable dsItem = new DataTable();
da.Fill(dsItem);
foreach (DataRow item in dsItem.Rows) {
string row1= item[0].ToString();
string row2 = item[1].ToString();
string row3 = item[2].ToString();
string row4 = item[3].ToString();
MessageBox.Show(row1 + " " + row2 + " " + row3 + " " + row4);
}
}
catch (Exception ex)
{ }
conn为数据源实例化。
da为查询得出的数据。
将da的内容放到一个新的dataTable中,然后读取该dataTable的每一行(Row)或列(column)等。
(4)释放
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
da.Dispose();
conn.Dispose();
}
}
该文档被打开后,记得释放和关闭,否则会一直在内存里。
三.实例代码
C# 读取Excel内容的更多相关文章
- POI读取Excel内容格式化
在用POI读取Excel内容时,经常会遇到数据格式化的问题. 比如:数字12365会变为12365.0;字符串数字123也会变为123.0,甚至会被变为科学计数法.另外日期格式化也是一个头疼的问题.其 ...
- Unity用Excel.dll简单读取Excel内容
Unity用Excel.dll简单读取Excel内容 需要Excel.dll 需要如下三个命名空间 using System.IO; using Excel; using System.Data; 1 ...
- EasyExcel 轻松灵活读取Excel内容
写在前面 Java 后端程序员应该会遇到读取 Excel 信息到 DB 等相关需求,脑海中可能突然间想起 Apache POI 这个技术解决方案,但是当 Excel 的数据量非常大的时候,你也许发现, ...
- java poi 读取excel内容
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import or ...
- Java读取Excel内容
借助于apathe的poi.jar,由于上传文件不支持.jar所以请下载后将文件改为.jar,在应用程序中添加poi.jar包,并将需要读取的excel文件放入根目录即可 本例使用java来读取exc ...
- poi读取excel内容工具类
该工具类可以读取excel2007,excel2003等格式的文件,xls.xlsx文件格式 package com.visolink; import org.apache.poi.hssf.user ...
- .NET小笔记-NPOI读取excel内容到DataTable
下载比较新的NPOI组件支持excel2007以上的,把.dll添加引用 引入命名空间 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using ...
- nodejs读取excel内容批量替换并生成新的html和新excel对照文件
因为广告投放需要做一批对外投放下载页面,由于没有专门负责填充页面的编辑同学做,只能前端来做了, 拿到excel看了一下,需要生成200多个文件,一下子懵逼了. 这要是来回复制粘贴太low了 正好最新用 ...
- Java 读取Excel内容并保存进数据库
读取Excel中内容,并保存进数据库 步骤 建立数据库连接 读取文件内容 (fileInputStream 放进POI的对应Excel读取接口,实现Excel文件读取) 获取文件各种内容(总列数,总行 ...
随机推荐
- 跟大牛之间关于hibernate的一些探讨记录
hibernate的工作原理!! 1.读取配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transcation 5.持久化操作 6.提交事务 ...
- windows7共享硬盘 虚拟机Mac访问windows7硬盘
选择本地磁盘(G)-->右键-->共享-->高级共享点击高级共享 确定 完成共享 虚拟机Mac 访问共享磁盘 2.苹果MAC系统,点击桌面.打开顶部菜单 “前往”. 3.菜单 ...
- sqlserver查看被锁表、解锁
查看别锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.d ...
- Block存储区域
Block存储区域 首先,需要引入三个名词: ● _NSConcretStackBlock ● _NSConcretGlobalBlock ● _NSConcretMallocBlock 正如它们名字 ...
- xml 解析的四种方式
=========================================xml文件<?xml version="1.0" encoding="GB2312 ...
- c数据结构栈的基本操作(字符逆序输出)
线性栈 输入字符,再输出 #include "stdafx.h" #include<stdlib.h> #include<malloc.h> #define ...
- OC 属性
1 属性和实例变量 :属性 == 实例变量声明 + setter 方法+ getter 方法 在老版本的 OC 语言中,我们需要同时声明属性和底层实例变量,那时,属性是 OC 语言的一个新的机制,并 ...
- 区间更新 zoj3911
哎,没什么坑点,一个简单的区间更新题,但是改了好几天没改对,最终还是过了~~发个纪念下 泪奔... #include<cstdio>#include <iostream>#in ...
- js滚动效果-(up,left)
// JavaScript Document //图片横向滚动// 2012-1-12 zhx 改版 改为调用方法 调用参数为元素名称 //name 控件名称 //direction 滚动方向 暂时支 ...
- JSP页面的隐含对象和Servlet程序里的对象之间的关联和区别
首先,有两个概念: 1.JSP页面的域对象:pageContext,request,session,application对象(四个) void setAttribute(String name,Ob ...