惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

博客园 - 乐逍遥

对微软开发工具的看法 56度烟台社区 301跳转与URL转发 windows phone7 开发(Windows Phone 7 Emulator常用快捷键) Silverlight版本的微博工具 微博工具 - 乐逍遥 - 博客园 table 划线 给treeview递归增加菜单 vs2005启动时候的新闻网址 压缩文件 c# 操作word 数据库设计(六)概念数据模型 数据库设计(五)概念数据模型 数据库设计(四)概念数据模型 数据库设计(三)概念数据模型 数据库设计(二)概念数据模型 数据库设计系列(一)概念数据模型 电子邮件Mailto的一些参数用法 OutLook编程
用c#操作Excell
乐逍遥 · 2007-09-05 · via 博客园 - 乐逍遥

一.引用Microsoft  Excell  object  Liabrary11
二. /// <summary>
        /// 创建excell执行类
        /// </summary>
        /// <param name="FileName">操作的Excell文件名称</param>
        /// <param name="sheetName">操作的表格名称</param>
        /// <param name="cellStart">操作的起始单元格</param>
        public ExcellDataSet(string FileName, string sheetName)
        {
            try
            {
                objApp = new Microsoft.Office.Interop.Excel.Application();
                objApp.AskToUpdateLinks = false;
                Workbooks objBooks = objApp.Workbooks;
                _Workbook objBook = objBooks.Add(FileName);
                Sheets objSheets = objBook.Sheets;
                _Worksheet objSheet = (_Worksheet)objSheets.get_Item(sheetName);
                Range _rang = objSheet.UsedRange;
                _rang =
                objSheet.get_Range(objSheet.Cells[2, 1], objSheet.Cells[intTotalRowCount, 28]);
               
_data = (System.Object[,])_rang.Value2;
                objBook.Close(false, Missing.Value, Missing.Value);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (objApp != null)
                {
                     objApp.Quit();
                     System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp);
                     objApp = null;          
                  }
            }
        }

三.

 /// <summary>
        /// EXCELL处理类
        /// </summary>
        /// <param name="FileName">文件名称</param>
        /// <param name="sheetName">表格名称</param>
        /// <param name="rowStart">开始行</param>
        /// <param name="colStar">开始列</param>
        /// <param name="colEnd">结束列</param>
        public ExcellDataSet(string FileName, string sheetName, string rowStart, string colStar, string colEnd)
        {
            try
            {
                objApp = new Microsoft.Office.Interop.Excel.Application();
                Workbooks objBooks = objApp.Workbooks;
                _Workbook objBook = objBooks.Add(FileName);
                Sheets objSheets = objBook.Sheets;
                _Worksheet objSheet = (_Worksheet)objSheets.get_Item(sheetName);

                string cellStar = colStar + rowStart;//开始单元格
                string rowEnd = objSheet.UsedRange.Cells.Rows.Count.ToString();
                string cellEnd = colEnd + rowEnd;//结束单元格
                Range _rang = objSheet.get_Range(cellStar, cellEnd);
                _data = (System.Object[,])_rang.Value2;
                objBook.Close(false, Missing.Value, Missing.Value);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (objApp != null)
                {
                     objApp.Quit();
                     System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp);
                    objApp = null;       
                  
                }
            }
        }

四.

 public object[,] returnObject()
        {
            if (_data != null)
            {
                //确定有效数据
                int _rowTemp = _data.GetLength(0);
                int bbbbb = _data.GetLowerBound(0);
                int ccccc = _data.GetUpperBound(0);
                int _row = 0;
                for (int i = 1; i <= _rowTemp; i++)
                {
                    if (_data.GetValue(i, 2) == null || _data.GetValue(i, 2).ToString().Length == 0)
                    {
                        _row = i - 1;
                        break;
                    }
                }

                int _col = _data.GetLength(1);
                if (_row == 0)
                {
                    _row = _data.GetLength(0);
                }
                object[,] _returnData = new object[_row, _col];
                int eeee = _returnData.GetLowerBound(0);
                int fff = _returnData.GetUpperBound(0);
                for (int i = 1; i <= _row; i++)
                {
                    for (int m = 1; m <= _col; m++)
                    {
                        _returnData[i - 1, m - 1] = _data[i, m];
                    }
                }

                return _returnData;
            }
            return null;
        }

五.

  /// <summary>
        /// 返回单元格的值
        /// </summary>
        /// <param name="row">行</param>
        /// <param name="col">列(用数字标是)</param>
        /// <returns>单元格的值</returns>
        public string ReturnCellData(int row, int col)
        {
            if (_data != null)
            {
                if (_data.GetValue(row, col) != null)
                {
                    return _data.GetValue(row, col).ToString();
                }
            }
            return string.Empty;
        }

        /// <summary>
        /// 返回单元格的值
        /// </summary>
        /// <param name="row">行</param>
        /// <param name="col">列(用字母标是,必须是大些)</param>
        /// <returns>单元格的值</returns>
        public string ReturnCellData(int row, string col)
        {
            char s = char.Parse(col);
            int _col = (int)s - 64;
            return ReturnCellData(row, _col);
        }

        ///杀掉excel进程

        public void KillExcellProcess()
        {
            int ProceedingCount = 0;
            try
            {
                Process[] ProceddingCon = Process.GetProcesses();
                foreach (Process IsProcedding in ProceddingCon)
                {
                    if (IsProcedding.ProcessName.ToUpper() == "EXCEL")
                    {
                        ProceedingCount += 1;
                        IsProcedding.Kill();
                    }
                }
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }