C# 读取excel

C#读取EXCEL表数据 C#读取EXCEL表数据 1.本篇文章讲的是如何使用C#读取EXCEL表,在百度了很多博客,文章都是写的使用office的一个插件,还需要下载就整的很麻烦。 c# 读取excel数据的两种方法(转) - YellowCool - 博客园 (cnblogs.com)这个文章写了几个方法,但是这些方法都是比较繁琐的。 2.首先,读取EXCEL表的步骤:    2.1只需要下载插件Spire.XLS。 Spire.XLS是E-iceblue开发的一套基... 阅读详情

最近在弄excel读写,在网上搜了很多例子,有的会有点问题,经过修改后,这个函数是可以使用,提供给大家。

写博客的目的就是为了激发别人也写下,这样才能让大家搜到更多有用的资料。


注意:

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//要想获取excel中全部内容,最好在excel中将全部内容是设置为字符型(目前我是强制将excel内容都设置为了字符型)
//参考:https://blog.csdn.net/fupei/article/details/5886058

////////////////////////////////////////////////////////////////////////////////////////////////////////////


        /// <summary>
        /// 获取excel内容
        /// </summary>
        /// <param name="strExcelPath"></param>
        /// <param name="tableName"></param>
        /// <returns></returns>
        public static DataTable GetExcelTableByOleDB(string strExcelPath, string tableName)
        {
            try
            {
                DataTable dtExcel = new DataTable();
                //数据表
                DataSet ds = new DataSet();
                //获取文件扩展名
                string strExtension = System.IO.Path.GetExtension(strExcelPath);
                string strFileName = System.IO.Path.GetFileName(strExcelPath);
                //Excel的连接
                OleDbConnection objConn = null;
                switch (strExtension)
                {
                    case ".xls":
                        objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 8.0;HDR=YES;IMEX=2;\"");
                        break;
                    case ".xlsx":
                        objConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 12.0;HDR=YES;IMEX=2;\"");
                        break;
                    default:
                        objConn = null;
                        break;
                }
                if (objConn == null)
                {
                    return null;
                }
                objConn.Open();

                //获取Excel中所有Sheet表的信息
                System.Data.DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
                bool bHadPage = false;//检查是否有这个表
                //获取Excel的第一个Sheet表名
                for (int i = 0; i < schemaTable.Rows.Count; i++)
                {
                    string tableNameTmp = schemaTable.Rows[i][2].ToString().Trim();
                    if (tableNameTmp == tableName + "$")
                    {
                        //有这个表
                        bHadPage = true;
                    }
                }

                if (!bHadPage)
                {
                    //没有这个表
                    objConn.Close();
                    return null;
                }
                //string tableName = schemaTable.Rows[0][2].ToString().Trim();
                //string strSql = "select * from [" + tableName + "]";

                string strSql = "select * from [" + tableName + "$]";
                //获取Excel指定Sheet表中的信息
                OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
                OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);
                myData.Fill(ds, tableName);//填充数据
                objConn.Close();

                //dtExcel即为excel文件中指定表中存储的信息
                dtExcel = ds.Tables[tableName];
                return dtExcel;
            }
            catch (Exception ex)
            {
                ShareMem.SetMessage("获取Excel文件失败:" + ex.Message);
                ShareMem.SetMessage("请尝试安装安装目录下DLL\\AccessDatabaseEngine.rar文件");

                return null;
            }
        }


C#读取Excel,导出Excel 阅读详情

相关推荐

C#如何读取excel数据

protected void Button1_Click(object sender, EventArgs e)     ...{         string filepath=FileUpload1.PostedFile.FileName;         ReadExcel(filepath, gdBom);     }     public void ReadExcel(stri

在希望的田野上 4095

C# 添加、修改以及删除Excel迷你图表的实现方法

下面小编就为大家分享一篇C# 添加、修改以及删除Excel迷你图表的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

C#读取Excel文件

写了个通用的C#读取Excel文件的方法,此方法可以设置从第几行读取以及读取多少列。EXCEL的XLS,xlsx格式都可以读取。         ///         /// 将Excel文件读入DataSet         ///         /// Excel文件全路径         /// 从第几行开始是订单内容,第一行为0         /// 需要取得的列数

Thr21ough的专栏 1255

C#操作excel 类库

c#类库 使用NPOI操作excel,无需安装excel 可插入指定位置, 在指定位置插入datatable

C#使用开源操作库MiniExcel操作Excel

MiniExcel 简单、高效避免 OOM 的.NET 处理 Excel 查、写、填充数据工具。目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本 1000 多 MB 占用降低到几 MB,避免内存不够情况。

star8521的专栏 5062

C#读写Excel

其打开流程,包括打开Excel程序、打开Excel文件以及打开sheet;表示已写入的区域,其对应的行数和列数就比较有代表性,根据这两个值进行循环,就可以把刚刚写入的数据打印出来了。这里需要建立起对Excel中数据组织的一个概念,首先是Excel软件,一个软件可以打开多个。为了重点突出重点,下面争取用最短的代码,写一个将多维数组写入Excel并保存的函数。读取与写入的流程相似,但写入时需要至少有一个Excel文件,刚好刚刚创建了一个。之类的,直接开撸代码。操作Excel的基本流程:打开->操作->关闭。

微小冷的学习笔记 1万+

C#使用MiniExcel导入导出数据到Excel/CSV文件

本文介绍了如何使用MiniExcel实现导入导出到Excel、CSV文件。

mingupup的博客 2737

C# 读取Excel的几种常见方式及实现步骤

读取Excel的几种常见方式为:使用 Microsoft Office Interop Excel 库,使用 OLEDB 数据库连接方式,使用 EPPlus 库三种方式,在以上三种方法中,第一种和第二种方法需要安装额外的依赖库,并且性能较低;而第三种方法虽然需要引入 EPPlus 依赖库,但性能较高且使用方便。具体选择哪种方式可以根据自己的实际情况来考虑。

beenles的博客 1万+

C#库-MiniExcel

MiniExcel简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。從 V0.21.0 開始支持有的類別 format类别set;set;代码效果Query 支持自定义格式转换预设以\r\n作为换行符,自定义请修改NewLine属性。

ccf19881030的专栏 2092

C#读取Excel

C#如何读取EXCEL文件,这是很多小伙伴都想知道的,本文就为大家带来三种比较经典的C#读取Excel中的方法,一起来看看吧。 方法一:采用OLEDB读取EXCEL文件 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(string Path) { string strConn = "Provider=Microsoft.Jet....

静落烟尘的博客 5605

C#读取Excel数据的几种方式(包含大量数据读取

C#读取Excel数据的几种方式(包含大量数据读取C#读取Excel数据的几种方式(包含大量数据读取) OleDB方式 COM组件的方式 NPOI方式读取(此处未测试,参考其他博文) 常用的Excel数据读取方式有三种: OleDB方式 这种方式需要安装AccessDatabaseEngine,实际上就是一种利用ACCESS数据库的方式读取数据至DataTable。 这种方法使...

星悬_月的博客 4万+

C#操作Excel文件(读取Excel,写入Excel)

看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。1.加载Excel读取excel内容)返回值是一个Dat

21万+

C#读写Excel文件

C#读写Excel文件,详细介绍了#读写Excel文件的各种操作的代码;

C#任意读取excel

C#任意读取excel 很简单的,只是功能不强,只能看看

C#读取Excel的方法总结

C#读取Excel文件的三种方法,希望对大家有所帮助。

dreamszhang的博客 4181

C# 读取Excel表格

使用C#代码读取Excel表格 最近用到的读取Excel表格的方法, 为了多次使用在此记录. 这个方法是摘抄了别人的, 自己做了注释, 但是忘记了自己在哪里摘抄的. 如有雷同, 请留言我做补充. 需要的引用 位置 Microsoft.CSharp.dll C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework....

qq_41721686的博客 1083

使用C#读取、创建、修改Excel文件

使用C#读取、创建、修改Excel文件开发环境基本类型和概念新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 E...

ocean1992的博客 1万+
上一篇: Source insight4 使用技巧
下一篇: FileZilla Server 配置
cyd411
博客等级 码龄23年 40粉丝 55原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值