C#操作Excel(读取)
来源:互联网 发布:淘宝登录界面打不开 编辑:程序博客网 时间:2024/06/01 10:43
一.使用OleDb,这个法子好像不大好使.容易读错.
引用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; } }
- C#操作Excel(读取)
- C#操作Excel(读取)
- C#操作Excel(读取)
- C#操作读取excel数据
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel) .
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- 转 第八章 缓动与弹性运动(2)(as3.0)
- OMAP3530显示输出控制
- 转 第九章 碰撞检测(as3.0)
- 新闻管理系统的需求分析(二)
- c#操作Access[上]
- C#操作Excel(读取)
- httpwatch+的功能及使用技巧
- 让Gridview在没有数据的时候显示表头
- FreeScale mpc8xxx + vxWorks平台下spi flash驱动开发三步走
- 转 第十章 坐标旋转及角度反弹(as3.0)
- gsoap开发webservice
- 利用Apache的VirtualHost在本地搭建多个站点
- 转 第十一章 撞球物理(1)(as3.0)
- 一道面试题引发的有关随机数的思考(8)