以Access为支撑,书写一个C#写入记录的案例

Posted 2226016500

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以Access为支撑,书写一个C#写入记录的案例相关的知识,希望对你有一定的参考价值。

/// <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;
}

以上是关于以Access为支撑,书写一个C#写入记录的案例的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 上使用 DAO 在 Access 中写入大量记录

使用 VB 写入大量记录以访问

C# 正则表达式匹配案例 - 拆分字符串并写入文件输出

2016.9.22小程序

从c#按顺序将行插入Access Table

无法通过 C# oledb 将记录插入 MS Access