• 大小: 27KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C#
  • 标签: C#  Excel  读取  实例  Demo  

资源简介

用C#开发的一个读取Excel表格的Demo,无需安装office。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.IO;

namespace TestExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            string mExcelName = “D:\\hehehe.xlsx“;
            string mExcelSheet = ““;
            DataTable mDataTable = ExcelToDataTable(mExcelName mExcelSheet);
            for (int i = 0; i < mDataTable.Rows.Count; i++)
            {
                for (int j = 0; j < mDataTable.Columns.Count; j++)
                {
                    Console.Write(mDataTable.Rows[i][j].ToString() + “ “);
                }
                Console.WriteLine(““);
            }
            Console.ReadLine();
        }
        //用OLEDB通过设置连接字符串可以像读取sqlserver一样将excel中的数据读取出来,但是excel2003和excel2007/2010的连接字符串是不同的
        /// 
        /// 把数据从Excel装载到DataTable
        /// 

        /// 带路径的Excel文件名
        /// 工作表名
        /// 将数据存入的DataTable
        /// 
        public static DataTable ExcelToDataTable(string pathName string sheetName)
         {
             DataTable tbContainer = new DataTable();
             string strConn = string.Empty;
             if (string.IsNullOrEmpty(sheetName)) { sheetName = “Sheet1“; }
             FileInfo file = new FileInfo(pathName);
             if (!file.Exists) { throw new Exception(“文件不存在“); }
             string extension = file.Extension;
             switch (extension)
             {
             case “.xls“:
             strConn = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ + pathName + “;Extended Properties=‘Excel 8.0;HDR=Yes;IMEX=1;‘“;
             break;
             case “.xlsx“:
             strConn = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“ + pathName + “;Extended Properties=‘Excel 12.0;HDR=Yes;IMEX=1;‘“;
             break;
             default:
             strConn = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ + pathName + “;Extended Properties=‘Excel 8.0;HDR=Yes;IMEX=1;‘“;
             break;
             }
             //链接Excel
             OleDbConnection cnnxls = new OleDbConnection(strConn);
             //读取Excel里面有 表Sheet1
             OleDbDataAdapter oda = new OleDbDataAdapter(string.Format(“select * from [{0}$]“ sheetName) cnnxls);
             DataSet ds = new DataSet();
             //将Excel里面有表内容装载到内存表中!
             oda.Fill(tbContainer);
             return tbContainer;
             }
            //这里需要注意的地方是,当文件的后缀名为.xlsx(excel2007/2010)时的连接字符串是“Provider=Microsoft.ACE.OLEDB.12.0;....“,注意中间红色部分不是“Jet“。
        }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6144  2014-10-09 16:56  TestExcel\TestExcel\bin\Debug\TestExcel.exe

     文件      13824  2014-10-09 16:56  TestExcel\TestExcel\bin\Debug\TestExcel.pdb

     文件      11608  2014-10-10 11:28  TestExcel\TestExcel\bin\Debug\TestExcel.vshost.exe

     文件        490  2010-03-17 22:39  TestExcel\TestExcel\bin\Debug\TestExcel.vshost.exe.manifest

     文件       5798  2014-10-09 16:56  TestExcel\TestExcel\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        374  2014-10-10 11:28  TestExcel\TestExcel\obj\x86\Debug\TestExcel.csproj.FileListAbsolute.txt

     文件       6144  2014-10-09 16:56  TestExcel\TestExcel\obj\x86\Debug\TestExcel.exe

     文件      13824  2014-10-09 16:56  TestExcel\TestExcel\obj\x86\Debug\TestExcel.pdb

     文件       3007  2014-10-09 16:56  TestExcel\TestExcel\Program.cs

     文件       1350  2014-10-09 16:18  TestExcel\TestExcel\Properties\AssemblyInfo.cs

     文件       2332  2014-10-09 16:18  TestExcel\TestExcel\TestExcel.csproj

     文件        869  2014-10-09 16:18  TestExcel\TestExcel.sln

    ..A..H.     58880  2014-10-10 11:41  TestExcel\TestExcel.suo

     目录          0  2014-10-09 16:18  TestExcel\TestExcel\obj\x86\Debug\TempPE

     目录          0  2015-01-27 12:32  TestExcel\TestExcel\obj\x86\Debug

     目录          0  2015-01-27 12:32  TestExcel\TestExcel\bin\Debug

     目录          0  2015-01-27 12:32  TestExcel\TestExcel\obj\x86

     目录          0  2015-01-27 12:32  TestExcel\TestExcel\bin

     目录          0  2015-01-27 12:32  TestExcel\TestExcel\obj

     目录          0  2015-01-27 12:32  TestExcel\TestExcel\Properties

     目录          0  2015-01-27 12:32  TestExcel\TestExcel

     目录          0  2015-01-27 12:32  TestExcel

----------- ---------  ---------- -----  ----

               124644                    22


评论

共有 条评论