C# 如何将文本框信息保存在 excel 特定行中

本文关键字:excel 存在 保存 信息 文本 | 更新日期: 2023-09-27 18:34:10

我在程序调试文件夹中放置了一个 excel 文档,例如 C# project/bin/debug。

我有带有 2 个文本框的 WinForm,并保存按钮。例如,用户必须在文本框 1 中输入他的名字,在 texbox2 中输入他的姓氏,然后单击保存来保存。

我的问题是,当用户单击保存时,如何使文本框 1 输入保存在 excel 中的 A2 行中,并将文本框 2 输入保存在 B2 行中?

Excel 文档不应可见,它应在用户点击保存后自动保存文档。

谁能帮我?代码示例或指南链接将非常有用。

C# 如何将文本框信息保存在 excel 特定行中

您可以使用 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();
            }
        }
    }
}