C# 快捷读取Excel。

来源:互联网 发布:报喜鸟 男装 知乎 编辑:程序博客网 时间:2024/05/25 08:14

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Microsoft.Office.Interop.Excel;
using System.Diagnostics;
using System.Collections.Generic;

namespace MMSSend
{
    public class ExcelHelper
    {
        private _Application excelApp;
        private string fileName = string.Empty;
        private WorkbookClass wbclass;

        public ExcelHelper(string _filename)
        {
            excelApp = new Application();
            object objOpt = System.Reflection.Missing.Value;
            wbclass = (WorkbookClass)excelApp.Workbooks.Open(_filename, objOpt, false, objOpt, objOpt, objOpt, true, objOpt, objOpt, true, objOpt, objOpt, objOpt, objOpt, objOpt);
        }

        /// <summary>
        /// 所有sheet的名称列表
        /// </summary>
        /// <returns></returns>
        public List<string> GetSheetNames()
        {
            List<string> list = new List<string>();
            Sheets sheets = wbclass.Worksheets;
            string sheetNams = string.Empty;
            foreach (Worksheet sheet in sheets)
            {
                list.Add(sheet.Name);
            }
            return list;
        }

        /// <summary>
        /// 通过文件名获取表格
        /// </summary>
        /// <param name="name">文件名</param>
        /// <returns></returns>
        public Worksheet GetWorksheetByName(string name)
        {
            Worksheet sheet = null;
            Sheets sheets = wbclass.Worksheets;
            foreach (Worksheet s in sheets)
            {
                if (s.Name == name)
                {
                    sheet = s;
                    break;
                }
            }
            return sheet;
        }

        /// <summary>
        /// 读取Excel单元
        /// </summary>
        /// <param name="sheetName">sheet名称</param>
        /// <returns></returns>
        public Array GetContent(string sheetName)
        {
            Worksheet sheet = GetWorksheetByName(sheetName);
            //获取A1 到AM24范围的单元格
            Range rang = sheet.get_Range("A1", "AM24");

            //我自己加的
            //sheet[index].Columns[index].copy();
            //sheet.Cells[1, 1] = "第一列";
            //sheet.Cells[1, 1] = "第一列 ";
            //sheet.Cells[2, 1] = "第一列 ";
            //sheet.Cells[1, 2] = "第二列 ";
            //sheet.Cells[2, 2] = "第二列 ";
            //sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[sheet.UsedRange.Rows.Count, 1]).Delete(XlDeleteShiftDirection.xlShiftToLeft);
           
            //读一个单元格内容
            //sheet.get_Range("A1", Type.Missing);
            //不为空的区域,列,行数目
            //int l = sheet.UsedRange.Columns.Count;
            //int w = sheet.UsedRange.Rows.Count;
            //object[,] dell = sheet.UsedRange.get_Value(Missing.Value) as object[,];
            System.Array values = (Array)rang.Cells.Value2;
            return values;
        }

        public string GetContents(string sheetName)
        {
            Worksheet sheet = GetWorksheetByName(sheetName);
            //获取A1 到AM24范围的单元格
            Range rang = sheet.get_Range("A1", "AM24");
        }

        /// <summary>
        /// 关闭Excel文件
        /// </summary>
        public void Close()
        {
            excelApp.Quit();
            excelApp = null;
        }
    }
}

原创粉丝点击