天天看点

C# 快捷读取Excel。

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;

        }

    }

}

继续阅读