我需要用 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();
}
}
}
}