Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将Excel工作表数据从特定的行和列导入datagrid,然后导入SQL Server表WPF_Sql Server_Excel_Wpf - Fatal编程技术网

Sql server 将Excel工作表数据从特定的行和列导入datagrid,然后导入SQL Server表WPF

Sql server 将Excel工作表数据从特定的行和列导入datagrid,然后导入SQL Server表WPF,sql-server,excel,wpf,Sql Server,Excel,Wpf,我正在尝试使用WPF应用程序将系统生成的Excel工作表导入到SQL Server表中。问题是Excel工作表的标题写在前4行上,如下所示: 我想做的是:忽略前4行并开始读取表的列标题;阅读特定列,忽略第一列,阅读第二列和第四列 读取数据后,我想在WPF datagrid中显示它,然后将其导入SQL Server表 任何建议或链接都将不胜感激。我找到了解决方案,如何跳过行和列 OpenFileDialog openFileDialog = new OpenFileDialog();

我正在尝试使用WPF应用程序将系统生成的Excel工作表导入到SQL Server表中。问题是Excel工作表的标题写在前4行上,如下所示:

我想做的是:忽略前4行并开始读取表的列标题;阅读特定列,忽略第一列,阅读第二列和第四列

读取数据后,我想在WPF datagrid中显示它,然后将其导入SQL Server表


任何建议或链接都将不胜感激。

我找到了解决方案,如何跳过行和列

OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Title = "Test Cases Excel File ..";
            if (openFileDialog.ShowDialog() == true)
            {
                txt_FilePath.Text = openFileDialog.FileName;


                Microsoft.Office.Interop.Excel.Application excelApp;
                Microsoft.Office.Interop.Excel.Workbook workbook;
                Microsoft.Office.Interop.Excel.Worksheet worksheet;
                Microsoft.Office.Interop.Excel.Range range;
                excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                // Opening Excel file
                workbook = excelApp.Workbooks.Open(txt_FilePath.Text, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

                worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets.get_Item(1);
                range = worksheet.UsedRange;

                int column = 0;
                int row = 0;
                System.Data.DataTable dt = new System.Data.DataTable();
                dt.Columns.Add("Essential YN");
                dt.Columns.Add("Test Area");
                dt.Columns.Add("Test Part");
                dt.Columns.Add("Test Item");
                dt.Columns.Add("Comment");
                dt.Columns.Add("Result");


                for (row = 5; row <= range.Rows.Count; row++)
                {
                    DataRow dr = dt.NewRow();
                    for (column = 1; column <= 6; column++)
                    {
                        dr[column - 1] = (range.Cells[row, column] as Microsoft.Office.Interop.Excel.Range).Value2.ToString();
                    }
                    dt.Rows.Add(dr);
                }

                workbook.Close();
                excelApp.Quit();

                // Binding to DataGridView
                DataGrid.ItemsSource = dt.DefaultView;
OpenFileDialog OpenFileDialog=新建OpenFileDialog();
openFileDialog.Title=“测试用例Excel文件..”;
if(openFileDialog.ShowDialog()==true)
{
txt_FilePath.Text=openFileDialog.FileName;
Microsoft.Office.Interop.Excel.Application excelApp;
Microsoft.Office.Interop.Excel.Workbook工作簿;
Microsoft.Office.Interop.Excel.Worksheet工作表;
Microsoft.Office.Interop.Excel.Range;
excelApp=新的Microsoft.Office.Interop.Excel.ApplicationClass();
//打开Excel文件
工作簿=excelApp.Workbooks.Open(txt_FilePath.Text,0,true,5,“,”,true,Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,“\t”,false,false,0,true,1,0);
工作表=(Microsoft.Office.Interop.Excel.worksheet)工作簿.Sheets.get_项(1);
范围=工作表.UsedRange;
int列=0;
int行=0;
System.Data.DataTable dt=新的System.Data.DataTable();
dt.列。添加(“基本YN”);
dt.列。添加(“试验区域”);
dt.列。添加(“试验部件”);
dt.列。添加(“试验项目”);
dt.列。添加(“注释”);
dt.列。添加(“结果”);
对于(行=5;行