C#操作Excel(导入导出)

Excel读写操作
本文介绍了一个使用Microsoft Jet OleDb实现的简单方法来读取和写入Excel文件。通过提供的代码示例,您可以了解到如何将Excel文件转换为DataSet以及如何将数据写回Excel文件。
 1/**//// <summary>
 2/// 读取Excel文档
 3/// </summary>
 4/// <param name="Path">文件名称</param>
 5/// <returns>返回一个数据集</returns>

 6public DataSet ExcelToDS(string Path)
 7{
 8string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
 9OleDbConnection conn = new OleDbConnection(strConn);
10conn.Open();
11string strExcel = "";
12OleDbDataAdapter myCommand = null;
13DataSet ds = null;
14strExcel="select * from [sheet1$]";
15myCommand = new OleDbDataAdapter(strExcel, strConn);
16ds = new DataSet();
17myCommand.Fill(ds,"table1");
18return ds;
19}

20
21
22/**//// <summary>
23/// 写入Excel文档
24/// </summary>
25/// <param name="Path">文件名称</param>

26public bool SaveFP2toExcel(string Path)
27{
28try
29{
30string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
31OleDbConnection conn = new OleDbConnection(strConn);
32conn.Open();
33System.Data.OleDb.OleDbCommand cmd=new OleDbCommand ();
34cmd.Connection =conn;
35//cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'";
36//cmd.ExecuteNonQuery ();
37for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)
38{
39if(fp2.Sheets [0].Cells[i,0].Text!="")
40{
41cmd.CommandText ="INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+
42fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+
43"','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";
44cmd.ExecuteNonQuery ();
45}

46}

47conn.Close ();
48return true;
49}

50catch(System.Data.OleDb.OleDbException ex)
51{
52System.Diagnostics.Debug.WriteLine ("写入Excel发生错误:"+ex.Message );
53}

54return false;
55}

转载于:https://www.cnblogs.com/tries/archive/2008/04/11/1148033.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值