[Windows问题-4] C#读取excel文件

问题:使用C#程序读取excel文件,包括后缀为.xls和.xlsx

相信很多朋友都有在程序中读取excel文件的需求,我在调研的过程中也看了很多文章,基本思路都是正确的,但是有一些代码是没有通过验证的,在实际操作的过程中总会遇到一些问题,经过摸索,最终总结出一套可行的方案,在这里跟大家分享。

读取Excel的方法有多种,我这里选择了一种效率较高的方法,将读取出来的数据存放到一个DataSet之中。

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data;

namespace ConvertEXCEL2DLL
{
    //实现读取Excel文件的功能
    class ReadExcel
    {
        private static String strCon1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
        private static String strCon2 = ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;'";
        public static String m_filePathExcel = "c:\\test.xls";

        /*从excel中读取数据*/
        public static DataSet ImportExcelToDataSet()
        {

            OleDbConnection conn = new OleDbConnection(strCon1 + m_filePathExcel + strCon2);
            try
            {
                conn.Open();
            }
            catch (InvalidOperationException ie)
            {
                Console.Write("连接重复打开。\n");
            }
            catch (OleDbException oe)
            {
                Console.Write("在打开连接时出现连接级别的错误。\n");
            }

            OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT *FROM [Sheet1$]", conn);

            DataSet myDataSet = new DataSet();
            try
            {
                myCommand.Fill(myDataSet);

                Console.WriteLine("Read OK ");
            }
            catch (Exception ex)
            {
                Console.Write("formation error");
            }
            return myDataSet;
        }

    }
}

注意:其实这里需要强调的只有一点,那就是strCon1 StrCon2和 m_filePathExcel的格式,要注意这里面的空格不能少,单引号不能少,m_filePathExcel中的\要转义为\\。

HDR = Yes的含义是Excel表中第一行为表头,不需要读出,如果需要则改为No。其他的含义都可以在网上查到。

时间: 2024-11-03 01:22:24

[Windows问题-4] C#读取excel文件的相关文章

java无依赖读取Excel文件

说到Java读取Excel文件,用得多的当然是POI或jxls,但今天在看一本书的时候.当中提到使用JdbcOdbcDriver这个驱动类在不依赖第三方库的情况下也能够完毕对Excel文件的读取操作,网上搜了一下原因然后自己写了个样例跑通了,在此记录一下. Java读取数据库大家都非常熟悉,须要一个数据源与对应的驱动.开发人员通过JDBC操作驱动.驱动再去操作数据库.那么Java读取Excel文件也是类似的.在Windows系统中,能够将一个Excel文件注冊为一个ODBC数据源,注冊过程为:

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

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

Java编程:使用Java读取Excel文件内容

微软的ODBC驱动程序把工作表中的第一行作为列名(译者注:即字段名),工作表名作为数据库表名. 要通过JDBC访问工作表,我们还必须创建一个新的ODBC数据源,在Windows 2000系统上创建数据源的过程如下: 进入“控制面板” --> “管理工具” --> “数据源(ODBC)”,(译者注:打开后选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)” 然后在数据源名处输入一个名字myexcel(译者注:相当于数据库名),然后点击“

C# API: 生成和读取Excel文件

我们想为用户提供一些数据,考虑再三, 大家认为对于用户(人,而非机器)的可读性, Excel文件要好一些. 因为相比csv,xml等文件, Excel中我们可以运用自动筛选, 窗口锁定, 还可以控制背景颜色, 前景颜色, 字体, 网格等等... 业务逻辑并不复杂, 文件的内容和格式也比较固定,所以大家决定直接拿C#去创建这些文件. 于是一搜索,首先来到了这个链接:C# Excel Tutorial 里面包含了下面这些主题的代码示例, 示例很详细, 编译可直接运行. How to create E

.net 读取Excel文件报错

错误内容 Microsoft Office Excel 不能访问文件“D:\WWWRoot\Website\Test\Excels\Test1.xls”. 可能的原因有: 1 文件名称或路径不存在. 2 文件正被其他程序使用. 3 您正要保存的工作簿与当前打开的工作簿同名. 解决办法: 1 1).通过webconfig中增加模拟,加入管理员权限, <identity impersonate="true" userName="系统管理员" password=&q

PHPExcel读取excel文件示例

PHPExcel的类库下载地址:  https://github.com/PHPOffice/PHPExcel 转载自: http://www.imhdr.com/1332/comment-page-1/ PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包中带有大量如何生成各种样式excel文件的示例,但没有一个读取Excel文件的完整例子.Xiaoqiang根据网上的资料,整理了一份简单读取Excel文件的例子.传统方法: <?php /** * * @copyright 2

PHP读取Excel文件内容

PHP读取Excel文件内容 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader.但是可惜的是不能够支持Excel 2007的格式(.xlsx). PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文

python读取excel文件(xrld模块)

Python读取excel文件 一.python  xlrd模块 安装 mac 下安装python  xlrd模块 http://www.crifan.com/python_read_excel_xls_file_xlrd/comment-page-1/ python setup.py install 在mac 下出现的错误是 http://stackoverflow.com/questions/18199853/error-could-not-create-library-python-2-7

C# 读取EXCEL文件的三种经典方法

1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(string Path) { string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;"; OleDb