VSTO 系列(03)- WinForm作界面

微软在 .NET 平台基于 C/S 架构的界面技术,传统上是 Windows Forms (简称 WinForm),后来是 WPF 。WPF 不支持 VSTO,所以在界面中就只能使用 WinForm。

本篇实现一个比较实用的功能,在 Excel 中,允许用户输入 SQL 语句,将数据导入到 Excel 工作表。运行时的界面如下:


上篇我们已经实现了数据导入功能,本例接着上篇的例子来改造。将上篇博文源码的工程拷贝为一个新的工程,添加一个 WinForm,设计时界面如下:


因为只有简单的 TextBox 和 RadioButton,界面的部分不必细表。在 ExceServices.cs 文件中增加一个获取数据的方法,方法返回值的类型仍然是 DataTable:

public static DataTable GetDataFromSql(string sqlStatement) {
    
    
    var conn = EmployeeService.GetConnection();
    string selectCmd = sqlStatement;
    OleDbDataAdapter adapter = new OleDbDataAdapter(selectCmd, conn);

    DataTable values = new DataTable();
    adapter.Fill(values);
    return values;
}

Ribbon 界面的按钮 Import Data,点击后弹出刚才设计的 SqlForm:


在 SqlForm 中,点击确定按钮后数据导入到当前的工作表或者新的工作表。如果数据导入到当前工作表,需要清除单元格内容,以免之前存在数据未被刷新。

源代码

Gitee - Import Data based on SQL

猜你喜欢

转载自blog.csdn.net/stone0823/article/details/114797825