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;
}
}
}