【发布时间】:2017-02-26 12:32:26
【问题描述】:
我有一个DataGrid,我用来自DataSet 的数据填充了它。 DataSet 使用OpenFileDialog 从 Excel 文件中获取数据。我想将此数据插入到我的 SQL Server Express 表中。我怎样才能做到这一点?
我填写DataGrid的代码:
private void btnOpen_Click_1(object sender, RoutedEventArgs e)
{
OpenFileDialog openfile = new OpenFileDialog();
openfile.DefaultExt = ".xlsx";
openfile.Filter = "(.xlsx)|*.xlsx";
//openfile.ShowDialog();
var browsefile = openfile.ShowDialog();
if (browsefile == true)
{
txtFilePath.Text = openfile.FileName;
FileStream stream = File.Open(txtFilePath.Text, FileMode.Open, FileAccess.Read);
Excel.IExcelDataReader excelReader = Excel.ExcelReaderFactory.CreateOpenXmlReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
DataSet resultexc = excelReader.AsDataSet();
dtGrid.ItemsSource = resultexc.Tables[0].DefaultView;
excelReader.Close();
}
}
我看过一些教程,但我不明白。感谢您的帮助!
【问题讨论】:
-
您可以使用批量插入(确保表结构相同)请参考:msdn.microsoft.com/en-us/library/ms188365.aspx
-
检查 .Net SqlBulkCopy class 是否符合您的要求
标签: c# sql sql-server wpf datagrid