首页 > 代码库 > C# excel操作
C# excel操作
excel应用非常普遍,C#操作excel非常方便。本文介绍两种操作excel的方法。第一种是系统自带的库System.Data.OleDb;用此库操作exce需要对两种格式进行区分(.xls和.xlsx)。
1、定义连接字符串
string fileName =@"..\..\data.xlsx"; string ex = Path.GetExtension(fileName); string connString=null; if (ex==".xlsx") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\""; } else if (ex == ".xls") { connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\""; } else { return; }
2、连接excel并读取数据(跟其他数据库读取无异)
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
OleDbCommand oleDBCmd = conn.CreateCommand();
oleDBCmd.CommandText = "select *from[Sheet1$]";
OleDbDataAdapter apt =new OleDbDataAdapter(oleDBCmd);
DataSet ds = new DataSet();
apt.Fill(ds,"t1");
DataTable dt = ds.Tables["t1"];
for(int i=0;i<dt.Rows.Count;i++)
{
Console.Write(dt.Rows[i][0] + " ");
Console.Write(dt.Rows[i][1]+" ");
Console.Write(dt.Rows[i][2] + " ");
Console.WriteLine(dt.Rows[i][3]);
}
Console.ReadKey();
oleDBCmd.Dispose();
conn.Close();
此方法由于使用数据库语言,所以每次只能读取一个表格(sheet),要想读取多个表格,需要借助string.format多次读取excel文件。
下面介绍一种比较方便的方法,引用库Aspose.Cells.dll可以很方便的进行读取。它首先定义workbook(即excel文件)并与相关文件连接,然后通过workbook里面的worksheet获取excel文件中的表单,在通过cells获取相应的单元格数据。下面是具体步骤:
1、引用Aspose.Cells
using Aspose.Cells;
2、建立workbook,并连接excel
string newCreateExcelFile = @"..\..\new.xlsx"; string fileName = @"..\..\data.xlsx"; Workbook excelWorkBook = new Workbook(fileName);
3、获取数据
Console.WriteLine(excelWorkBook.Worksheets.Count);//excel中表单个数 foreach (Worksheet sheet in excelWorkBook.Worksheets) { Console.WriteLine(sheet.Name+" ");//excel中表单名字 } // 获取某一表单中第二列数据 Worksheet sheet1 = excelWorkBook.Worksheets[4]; for(int i=0;i<sheet1.Cells.Rows.Count;i++) { Console.WriteLine(sheet1.Cells[i, 1].StringValue); }
4、新建excel,可以利用此库方便的建立excel文件
//新建文件 Workbook newCreated = new Workbook(); newCreated.Worksheets.Clear(); //添加表单 newCreated.Worksheets.Add("01"); Worksheet ws = newCreated.Worksheets["01"]; //添加数据 ws.Cells[0, 0].Value = http://www.mamicode.com/"afdsfd"; //保存文件 newCreated.Save(newCreateExcelFile);
C# excel操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。