0

私のExcelワークブックはある場所に保存されています。基本的に、ボタンをクリックするとグリッドビューからエクスポートするためにエクスポートを使用しています。

すべて正常に動作し、

私の質問は、「最初にファイルを検索し、既に存在する場合は、新しいデータが存在する場合は、グリッドビューで取得したデータで更新したい」です。

私の関数は、前のデータを上書きする新しいデータを大量に作成するだけです。

ありがとう

4

1 に答える 1

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#MS Excel列をutf-8に変換してからbase64に変換します

于 2012-12-10T11:15:00.353 に答える