将excel文件保存在应用程序文件夹中,并使用Windows窗体和C#将内容上传到SQL Server的步骤如下:
下面是一个示例代码,演示了如何将excel文件内容上传到SQL Server:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
namespace ExcelToSQL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnUpload_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel Files|*.xlsx;*.xls";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string filePath = openFileDialog.FileName;
// 读取excel文件
IWorkbook workbook;
using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
workbook = new XSSFWorkbook(fileStream);
}
// 获取第一个工作表
ISheet sheet = workbook.GetSheetAt(0);
// 创建连接字符串
string connectionString = "Data Source=YourServerName;Initial Catalog=YourDatabaseName;Integrated Security=True";
// 建立与SQL Server的连接
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// 遍历excel文件中的每一行
for (int i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
// 读取每一列的数据
string column1 = row.GetCell(0).ToString();
string column2 = row.GetCell(1).ToString();
// ...
// 构建插入数据的SQL语句
string sql = $"INSERT INTO YourTableName (Column1, Column2) VALUES ('{column1}', '{column2}')";
// 执行插入操作
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.ExecuteNonQuery();
}
}
}
MessageBox.Show("数据上传成功!");
}
}
}
}
请注意,上述示例代码仅供参考,实际应用中可能需要根据具体情况进行修改和优化。另外,为了保证安全性和性能,建议在实际应用中添加适当的错误处理、数据验证和批量插入等功能。
领取专属 10元无门槛券
手把手带您无忧上云