NPOI读取Excel数据

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();
}
}
}
}

// 文件上传和数据写入完成后,可以进行相应的处理,如显示成功消息或刷新页面等
}

posted @   打妖怪的红领巾  阅读(577)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示