1

我需要用 C# 编写一个控制台应用程序,从 XLSX 读取数据并使用 ExcelDataReader v2.1 写入 SQL 服务器。

我需要读取单元格 D17、D18、D19 中的数据并放入 SQL 中的购买列。并读取单元格 K17、K18、K19 并放到 SQL 中的 / sell 列这是 SQL 表查询,数据库名称为 test1

SELECT TOP 1000 [id]
      ,[code]
      ,[buying]
      ,[selling]
  FROM [test1].[dbo].[Currency]

这是我尝试过的代码,但它没有使用 ExcelDataReader v2.1。我需要帮助才能使用 ExcelDataReader v2.1

using System;
using System.IO;
using Bytescout.Spreadsheet;
using System.Data.SqlClient;

namespace ExportToSQLServer
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {

                string connectionString = "Data Source=192.168.1.215;Initial Catalog=RECIPES2;Persist Security Info=True;User ID=sa;Password=***********";

                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();


                    ExecuteQueryWithoutResult(connection, "USE test1");

                    //Load XLS document
                    using (Spreadsheet document = new Spreadsheet())
                    {
                        document.LoadFromFile("SimpleReport.xls");
                        Worksheet worksheet = document.Workbook.Worksheets[0];

                        for (int row = 0; row <= worksheet.UsedRangeRowMax; row++)
                        {
                            String insertCommand = string.Format("INSERT XlsTest VALUES('{0}','{1}')",
                           worksheet.Cell(row, 0).Value, worksheet.Cell(row, 1).Value);
                            ExecuteQueryWithoutResult(connection, insertCommand);
                        }
                    }

                    // Check the data successfully exported
                    using (SqlCommand command = new SqlCommand("SELECT * from XlsTest", connection))
                    {
                        SqlDataReader reader = command.ExecuteReader();

                        if (reader != null)
                        {
                            Console.WriteLine();
                            Console.WriteLine("Exported XLS data:");
                            Console.WriteLine();

                            while (reader.Read())
                            {
                                Console.WriteLine(String.Format("{0}  |  {1}", reader[0], reader[1]));
                            }
                        }
                    }

                    Console.WriteLine();
                    Console.WriteLine("Press any key.");
                    Console.ReadKey();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: " + ex.Message);
                Console.ReadKey();
            }
        }

        static void ExecuteQueryWithoutResult(SqlConnection connection, string query)
        {
            using (SqlCommand command = new SqlCommand(query, connection))
            {
                command.ExecuteNonQuery();
            }
        }
    }
}
4

0 回答 0