0

C# project/bin/debug など、プログラムのデバッグ フォルダーに Excel ドキュメントが配置されています。

2 つのテキスト ボックスと保存ボタンを備えた WinForm があります。ユーザーは、たとえば自分の名前を textbox1 に、姓を texbox2 に入力し、[保存] をクリックして保存する必要があります。

私の質問は、ユーザーが保存をクリックしたときに、テキストボックス1入力をExcelの行A2に保存し、テキストボックス2入力を行B2に保存するにはどうすればよいですか?

Excel ドキュメントは表示されるべきではなく、ユーザーが保存を押した後にドキュメントを自動保存する必要があります。

誰でも私を助けることができますか?コード サンプルやガイドへのリンクは非常に役立ちます。

4

1 に答える 1

0

OleDb オブジェクトを使用して Excel ファイルを操作できます。

using System;
using System.Data;
using System.Data.OleDb;

public static class Program
{
    ///This is a very basic example of how to use OleDb objects to edit spreadsheets.
    /// For more advanced operations, look into using OleDb with DataSets/DataTables.
    public static void Main(string[] args)
    {
        string Filename = "C:\\test.xls";
        //If you are using xls format, use this connection string.
        string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Filename + ";Extended Properties=\"Excel 8.0;HDR=NO;\"";
        //If you are using xlsx format, use this connection string.
        //string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Filename + ";Extended Properties=\"Excel 12.0 Xml;HDR=NO\"";

        string Name_Value = "First Name";
        string Surname_Value = "Surname";

        string SQL1 = "UPDATE [Sheet1$A2:A2] SET F1='" + Name_Value + "'";
        string SQL2 = "UPDATE [Sheet1$B2:B2] SET F1='" + Surname_Value + "'";

        using(OleDbConnection Connection = new OleDbConnection(ConnectionString))
        {
            Connection.Open();
            using(OleDbCommand cmd1 = new OleDbCommand(SQL1,Connection))
            {
                cmd1.ExecuteNonQuery();
            }
            using(OleDbCommand cmd2 = new OleDbCommand(SQL2,Connection))
            {
                cmd2.ExecuteNonQuery();
            }
        }
    }
}
于 2012-05-15T17:00:51.433 に答える