基于COM组件方式读取Excel文件内容(C#版)
2014-05-27 21:26
656 查看
新建Win32 Console Application (C#),添加COM引用Microsoft Office Excel 15.0 Object Library (Office 2013对应版本15.0)
完整示例代码如下
注意使用完毕后调用Close方法以退出Excel进程。
运行结果
点击领取楼主
完整示例代码如下
using System; using Microsoft.Office; // Add new reference namespace ExcelReader { class Program { static void Main(string[] args) { ExcelReader er = new ExcelReader("F:/data.xls"); for(int i=1;i<=er.RowCount;++i) { for(int j=1;j<=er.ColCount;++j) { Console.Write("{0}\t",er.GetCellContent(i,j)); } Console.WriteLine(); } er.Close(); // Exit Excel process and release resources Console.ReadKey(); } } class ExcelReader { private Microsoft.Office.Interop.Excel._Application xlsApp = null; private Microsoft.Office.Interop.Excel.Sheets sheets = null; private Microsoft.Office.Interop.Excel.Worksheet workSheet = null; private Microsoft.Office.Interop.Excel.Workbook workBook = null; public int RowCount { get; set; } public int ColCount { get; set; } public ExcelReader(string strXlsPath) { xlsApp = new Microsoft.Office.Interop.Excel.Application(); object omv = System.Reflection.Missing.Value; workBook = xlsApp.Workbooks.Open(strXlsPath, omv, omv, omv, omv, omv, omv, omv, omv, omv, omv, omv, omv, omv, omv); sheets = workBook.Worksheets; workSheet = (Microsoft.Office.Interop.Excel.Worksheet)(sheets.get_Item(1)); RowCount=workSheet.UsedRange.Rows.Count; ColCount = workSheet.UsedRange.Columns.Count; } public void Close() { if (xlsApp != null) { if (workBook != null) { if (workSheet != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(workSheet); workSheet = null; } if (sheets != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(sheets); sheets = null; } workBook.Close(false, Type.Missing, Type.Missing); System.Runtime.InteropServices.Marshal.ReleaseComObject(workBook); workBook = null; } } xlsApp.Application.Workbooks.Close(); xlsApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp); xlsApp = null; GC.Collect(); } public dynamic GetCellContent(int row,int col) { Microsoft.Office.Interop.Excel.Range rng = workSheet.Cells[row, col]; return rng.Text; } } }
注意使用完毕后调用Close方法以退出Excel进程。
运行结果
点击领取楼主
相关文章推荐
- C#下使用第三方开源控件读取Excel文件的内容
- C#导出数据到Excel的两种方式:基于COM组件和NPIO
- [转] 从数据库中读取图片并导入Excel文件,C#方式
- ASP.NET(C#)读取Excel的文件内容
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- C# 读取EXCEL(CSV文件方式)
- C#读取excel文件的内容(使用DataSet)
- C#下使用第三方开源控件读取Excel文件的内容
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- ASP.NET(C#)读取Excel的文件内容
- C#导出数据到Excel的两种方式:基于COM组件和NPIO
- ASP.NET(C#)读取Excel的文件内容
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- c# 读取excel文件第1个表的内容
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- ASP.NET(C#)读取Excel的文件内容
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- Asp.Net读取并显示Excel文件中的内容(OleDb方式)
- excel to datatable (c#用NPOI将excel文件内容读取到datatable数据表中)
- C# 读取Excel文件里面的内容到DataSet