.net读取Excel批注

        private void button1_Click(object sender, EventArgs e)
        {
            getExcelOneCellComment(@"D:\aa.xls", 1, 1);
        }

        ///<summary>
        /// 获取指定文件的指定单元格内容批注
        ///</summary>
        /// <param name="fileName">文件路径</param>
        /// <param name="row">行号</param>
        /// <param name="column">列号</param>
        /// <returns>返回单元指定单元格内容</returns>  
        public string getExcelOneCellComment(string fileName, int row, int column)
        {
            Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook wbook = app.Workbooks.Open(fileName, Type.Missing, Type.Missing,
                 Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                 Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                 Type.Missing, Type.Missing);

            Microsoft.Office.Interop.Excel.Worksheet workSheet = (Microsoft.Office.Interop.Excel.Worksheet)wbook.Worksheets[1];
            string temp = ((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[row, column]).Comment.Shape.AlternativeText; ;

            wbook.Close(false, fileName, false);
            app.Quit();
            NAR(app);
            NAR(wbook);
            NAR(workSheet);
            return temp;

        }

        //此函数用来释放对象的相关资源
        private void NAR(Object o)
        {
            try
            {
                //使用此方法,来释放引用某些资源的基础 COM 对象。 这里的o就是要释放的对象
                System.Runtime.InteropServices.Marshal.ReleaseComObject(o);
            }
            catch { }
            finally
            {
                o = null; GC.Collect();
            }
        }
发表评论 / Comment

用心评论~