从Excel读取数据然后更新它

时间:2012-12-10 09:57:52

标签: c# asp.net gridview export-to-excel

我的Excel工作簿存储在某个位置,基本上我点击按钮时使用Export to grid从gridview中获取。

一切正常,

我的问题是,“我想首先查找该文件,如果它已经存在,那么使用我的gridview获得的数据更新它,如果有任何新数据存在的话。”

我的函数只创建了大量新数据,这些数据会覆盖前一个数据。

由于

1 个答案:

答案 0 :(得分:0)

您可以按如下方式检查文件

 string filePath = Request.PhysicalApplicationPath + "filename.xls";  
 FileInfo imageFile = new FileInfo(filePath);  
 bool fileExists = imageFile.Exists;  
 Label1.Text = "File exits?: " + fileExists.ToString(); 

以下是用于阅读和更新Excel文件的代码

    var myConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Language_Batch1_OneClick.xls';Extended Properties=Excel 8.0;"); ;
    var myCommand = new OleDbCommand();
    var upCommand = new OleDbCommand();
    int i = 0;
    try
    {

        string sql = null;
        myConnection.Open();
        myCommand.Connection = myConnection;
        sql = "select ANSWER_CODE,Punjabi from [Batch_Lang_1$]";
        myCommand.CommandText = sql;
        var dataReader = myCommand.ExecuteReader();

        while (dataReader.Read())
        {
            var langText = Convert.ToBase64String(Encoding.UTF8.GetBytes(dataReader["Punjabi"].ToString()));
            if (langText.Length >= 1000)
            {
                continue;
            }
            var ansCode = dataReader["ANSWER_CODE"].ToString();
            sql = "update [Batch_Lang_1$] set Punjabi= '" + langText + "'  where ANSWER_CODE='" + ansCode + "'";
            upCommand.Connection = myConnection;
            upCommand.CommandText = sql;
            upCommand.ExecuteNonQuery();
            i++;
        }

这是一个链接,其中包含用于读取和更新Excel文件的代码 C# Convert MS Excel column to utf-8 and then to base64