using System.Data;
using System.Data.SqlClient;
using System.IO;
using NPOI.HSSF.UserModel; // 用于处理Excel的NPOI库
html
<f:FileUpload ID="fileUpload" runat="server" AllowMultiFile="false" />
C#
protected void UploadButton_Click(object sender, EventArgs e)
{
// 获取上传的文件
HttpPostedFile uploadedFile = fileUpload.PostedFile;
// 检查文件类型和扩展名(这里假设是XLS文件)
if (uploadedFile.ContentType != "application/vnd.ms-excel" ||
Path.GetExtension(uploadedFile.FileName).ToLower() != ".xls")
{
// 文件类型不正确,可以进行错误处理
return;
}
// 读取Excel文件并将数据写入SqlServer数据库
using (Stream stream = uploadedFile.InputStream)
{
// 创建工作簿
HSSFWorkbook workbook = new HSSFWorkbook(stream);
// 获取第一个工作表
HSSFSheet sheet = (HSSFSheet)workbook.GetSheetAt(0);
// 连接到SqlServer数据库
string connectionString = "YourConnectionString"; // 替换为你的连接字符串
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// 遍历工作表中的每一行(假设数据从第二行开始,第一行是标题)
for (int rowIndex = 1; rowIndex <= sheet.LastRowNum; rowIndex++)
{
HSSFRow row = (HSSFRow)sheet.GetRow(rowIndex);
// 读取Excel中的数据
string column1Value = row.GetCell(0).ToString(); // 替换为你的列索引
string column2Value = row.GetCell(1).ToString(); // 替换为你的列索引
// ...
// 执行插入操作将数据写入SqlServer数据库表
string insertQuery = "INSERT INTO YourTable (Column1, Column2) VALUES (@Column1, @Column2)"; // 替换为你的表名和列名
using (SqlCommand command = new SqlCommand(insertQuery, connection))
{
command.Parameters.AddWithValue("@Column1", column1Value);
command.Parameters.AddWithValue("@Column2", column2Value);
// ...
command.ExecuteNonQuery();
}
}
}
}
// 文件上传和数据写入完成后,可以进行相应的处理,如显示成功消息或刷新页面等
}
2007+Office
protected void UploadButton_Click(object sender, EventArgs e)
{
// 获取上传的文件
HttpPostedFile uploadedFile = fileUpload.PostedFile;
// 检查文件类型和扩展名(这里假设是XLSX文件)
if (uploadedFile.ContentType != "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ||
Path.GetExtension(uploadedFile.FileName).ToLower() != ".xlsx")
{
// 文件类型不正确,可以进行错误处理
return;
}
// 读取Excel文件并将数据写入SqlServer数据库
using (Stream stream = uploadedFile.InputStream)
{
// 创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook(stream);
// 获取第一个工作表
XSSFSheet sheet = (XSSFSheet)workbook.GetSheetAt(0);
// 连接到SqlServer数据库
string connectionString = "YourConnectionString"; // 替换为你的连接字符串
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// 遍历工作表中的每一行(假设数据从第二行开始,第一行是标题)
for (int rowIndex = 1; rowIndex <= sheet.LastRowNum; rowIndex++)
{
XSSFRow row = (XSSFRow)sheet.GetRow(rowIndex);
// 读取Excel中的数据
string column1Value = row.GetCell(0).ToString(); // 替换为你的列索引
string column2Value = row.GetCell(1).ToString(); // 替换为你的列索引
// ...
// 执行插入操作将数据写入SqlServer数据库表
string insertQuery = "INSERT INTO YourTable (Column1, Column2) VALUES (@Column1, @Column2)"; // 替换为你的表名和列名
using (SqlCommand command = new SqlCommand(insertQuery, connection))
{
command.Parameters.AddWithValue("@Column1", column1Value);
command.Parameters.AddWithValue("@Column2", column2Value);
// ...
command.ExecuteNonQuery();
}
}
}
}
// 文件上传和数据写入完成后,可以进行相应的处理,如显示成功消息或刷新页面等
}