C#操作Excel(导入导出)

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

前些日子,有很多朋友说需要C#导出到Excel的代码,现共享给大家

/// <summary>

/// 读取Excel文档

/// </summary>

/// <param name="Path">文件名称</param>

/// <returns>返回一个数据集</returns>

public DataSet ExcelToDS(string Path)

{

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";

OleDbConnection conn = new OleDbConnection(strConn);

conn.Open();

string strExcel = "";

OleDbDataAdapter myCommand = null;

DataSet ds = null;

strExcel="select * from [sheet1$]";

myCommand = new OleDbDataAdapter(strExcel, strConn);

ds = new DataSet();

myCommand.Fill(ds,"table1");

return ds;

}

/// <summary>

/// 写入Excel文档

/// </summary>

/// <param name="Path">文件名称</param>

public bool SaveFP2toExcel(string Path)

{

try

{

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";

OleDbConnection conn = new OleDbConnection(strConn);

conn.Open();

System.Data.OleDb.OleDbCommand cmd=new OleDbCommand ();

cmd.Connection =conn;

//cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'";

//cmd.ExecuteNonQuery ();

for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)

{

if(fp2.Sheets [0].Cells[i,0].Text!="")

{

cmd.CommandText ="INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+

fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+

"','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";

cmd.ExecuteNonQuery ();

}

}

conn.Close ();

return true;

}

catch(System.Data.OleDb.OleDbException ex)

{

System.Diagnostics.Debug.WriteLine ("写入Excel发生错误:"+ex.Message );

}

return false;

}

这种方法目前最有效,如果有不明白的地方可以来信交流

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航