ITPub博客

首页 > IT职业 > IT图书 > c#读取Excel的Sheet表方法

c#读取Excel的Sheet表方法

IT图书 作者:myiee 时间:2021-09-09 09:12:20 0 删除 编辑

有朋友问道:

public ArrayList ExcelSheetName(string filepath)
        {
            ArrayList al = new ArrayList();
            string strConn;
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties="Excel 8.0;HDR=Yes;IMEX=1;";";
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            DataTable sheetNames = conn.GetOleDbSchemaTable
            (System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
            conn.Close();
            foreach (DataRow dr in sheetNames.Rows)
            {
                al.Add(dr[2]);
            }
            return al;
        }


这个方法获取的EXCEL表名是按字母顺序排列的,如果我要获得EXCEL的第一个工作表名,怎么做?

其实利用Framework提供的Excel 对象模型很容易解决这个问题,下面是邀月的测试过程及代码:

新建一控制台项目,添加两个dll。

Microsoft.Office.Interop.Excel

Microsoft.VisualBasic

添加代码:

using System;
using System.Collections.Generic;
using System.Text;
//add namespace
using Microsoft.Office.Interop.Excel;

namespace ReadFirstSheetNameDemo
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //Get Xth SheetName of Excel File
            Console.WriteLine(GetFirstSheetNameFromExcelFileName("C:\test.xls",1));
            Console.ReadKey();
        }
        public static string GetFirstSheetNameFromExcelFileName(string filepath,int numberSheetID)
        {
            if (!System.IO.File.Exists(filepath))
            {
                return "This file is on the sky??";
            }
            if (numberSheetID 

完美解决。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3702/viewspace-2800503/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: PHP 对象 多态性
请登录后发表评论 登录
全部评论

注册时间:2019-08-30

  • 博文量
    89
  • 访问量
    861