如何将excel嵌入到c#窗体中

2024-11-15 09:25:10
推荐回答(3个)
回答1:

如果是比较简单的表格的话可以:先建立一个类,查要嵌入的Excel表格的内容给这个类赋值,再在窗体上拖一个DataGridView控件 ,用类给这个控件赋值

回答2:

可以使用用友的华表插件,很方便的。要是硬来的话不好弄啊

回答3:

OleDbConnection con = new OleDbConnection();
try
{
OpenFileDialog openFile = new OpenFileDialog();//打开文件对话框。
openFile.Filter = ("所有文件(*.*)|*.*|Excel 文件(*.xls)|*.xls|Excel 文件(*.xlsx)|*.xlsx");//后缀名。
//openFile.Filter = ("Excel 文件(*.xls)|*.xls");//后缀名。
if (openFile.ShowDialog() == DialogResult.OK)
{
string filename = openFile.FileName;
int index = filename.LastIndexOf("//");//截取文件的名字
filename = filename.Substring(index + 1);
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + @"Data Source=test.accdb;";
//将excel导入access
//distinct :删除excel重复的行.
//[excel名].[sheet名] 已有的excel的表要加$
//where not in : 插入不重复的记录。

string sql = "insert into 学生表 select distinct * from [Excel 8.0;database=" +
filename + "].[Sheet1$] where ID not in (select ID from 学生表) ";
string sql1 = "delete from 学生表";
OleDbCommand com1 = new OleDbCommand(sql1, con);
OleDbCommand com = new OleDbCommand(sql, con);
con.Open();
com1.ExecuteNonQuery();
com.ExecuteNonQuery();

MessageBox.Show("导入数据成功", "导入数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
}