如何将Excel文档数据(逐页)导入SQL表

时间:2012-09-06 05:34:24

标签: c# sql sql-server ssis

我需要将excel文件中的数据导入我的SQL Server数据库。数据文件包含我需要导入的大约120,000条记录(行)。 excel文件中的每行数据由大约183个格式化的数据列组成,数据将分散到SQL端的大约13个不同的表。将所有这些记录导入SQL的最佳方法(最简单但性能最高)是什么,确保每行都得到正确处理。

另一种选择是有一个选项,可以将数据加载到数据库中的临时数据表中,然后运行脚本将所有数据列从临时表移动到其他各种表中。

1 个答案:

答案 0 :(得分:2)

我使用这种方式从CSV文件中获取数据: - >

      int f = 0;
 var reader = new StreamReader(File.OpenRead(@ExcelFilePath));
                Buisness_logic bl = new Buisness_logic();

                while (!reader.EndOfStream)
                {
                       if (f == 0)
                    {
                         var line = reader.ReadLine();
                        f++;
                    }
                    else
                    {
                        var line = reader.ReadLine();
                        string[] s = line.Split(',');
                        count = s.Length;
                        if (s.Length == 3)
                        {
                            var values = line.Split(',');
                            string query = "Insert into Events_party values('" + identity + "','" + values[0] + "','" + values[1] + "','" + values[2] + "','" + time + "','" + dt + "')";
                            bl.ExecuteQuery(query);
                            count = 101;
                        }
                        else
                        {
                            MessageBox.Show("Imported File was not in defined format !! ", ".File Format Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            textBox1.BackColor = Color.Pink;
                            break;
                            count = 100;
                        }
                    }
                }