• C#读取Excel方法



     方法一:使用OleDb

       using System.Data.OleDb

        /// <summary>
        
    /// 返回Excel数据源
        
    /// </summary>
        
    /// <param name="filename">文件路径</param>
        
    /// <returns></returns>
        static public DataSet ExcelToDataSet(string filename)
        {
            DataSet ds;
            
    string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                            
    "Extended Properties=Excel 8.0;" +
                            
    "data source=" + filename;
            OleDbConnection myConn 
    = new OleDbConnection(strCon);
            
    string strCom = " SELECT * FROM [Sheet1$]";
            myConn.Open();
            OleDbDataAdapter myCommand 
    = new OleDbDataAdapter(strCom, myConn);
            ds 
    = new DataSet();
            myCommand.Fill(ds);
            myConn.Close();
            
    return ds;
        }

    方法二: 使用COM

        导入Microsoft.Excel
        
    using Excel= Microsoft.Office.Interop.Excel;
        
    using System.Diagnostics;

        
    public class ExcelHelper
        {
            
    private Excel._Application excelApp;
            
    private string fileName = string.Empty;
            
    private Excel.WorkbookClass wbclass;
            
    public ExcelHelper(string _filename)
            {
                excelApp 
    = new Excel.Application();
                
    object objOpt = System.Reflection.Missing.Value;
                wbclass 
    = (Excel.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>();
                Excel.Sheets sheets 
    = wbclass.Worksheets;
                
    string sheetNams = string.Empty;
                
    foreach (Excel.Worksheet sheet in sheets)
                {
                    list.Add(sheet.Name);
                }
                
    return list;
            }
            
    public Excel.Worksheet GetWorksheetByName(string name)
            {
                Excel.Worksheet sheet 
    = null;
                Excel.Sheets sheets 
    = wbclass.Worksheets;
                
    foreach (Excel.Worksheet s in sheets)
                {
                    
    if (s.Name == name)
                    {
                        sheet 
    = s;
                        
    break;
                    }
                }
                
    return sheet;
            }
            
    /**/
            
    /// <summary>
            
    ///
            
    /// </summary>
            
    /// <param name="sheetName">sheet名称</param>
            
    /// <returns></returns>
            public Array GetContent(string sheetName)
            {
                Excel.Worksheet sheet 
    = GetWorksheetByName(sheetName);
                
    //获取A1 到AM24范围的单元格
                Excel.Range rang = sheet.get_Range("A1""AM24");
                
    //读一个单元格内容
                
    //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 void Close()
            {
                excelApp.Quit();
                excelApp 
    = null;
            }

        }

     转自:http://www.cnblogs.com/seaboy/archive/2008/10/16/1312512.html

  • 相关阅读:
    Spark Streaming 应用实例
    Spark Streaming 应用实例
    利用 Spark Streaming 构建高效健壮的流数据计算系统注意事项
    利用 Spark Streaming 构建高效健壮的流数据计算系统注意事项
    Kafka 集群搭建步骤
    Kafka 集群搭建步骤
    php微信开发-tp5下验证服务器的代码
    php微信公众号开发,入门篇(实现了关注公众号发送欢迎信息,发关键词自回复)
    【php技术】PHP错误类型和屏蔽方法
    自制在线富文本编辑器,精简完整版
  • 原文地址:https://www.cnblogs.com/scottckt/p/1426013.html
Copyright © 2020-2023  润新知