首页 > 其他分享 >NPOI读取Excel数据

NPOI读取Excel数据

时间:2023-05-23 10:14:12浏览次数:53  
标签:读取 Excel NPOI command uploadedFile using row string

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

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

标签:读取,Excel,NPOI,command,uploadedFile,using,row,string
From: https://www.cnblogs.com/yuqkyy/p/17422494.html

相关文章

  • Python自动化办公对每个子文件夹的Excel表加个表头(Excel不同名)(上篇)
    大家好,我是皮皮。一、前言上一篇文章,我们抛出了一个问题,这篇文章来进行解答。如果针对子文件夹下不同的Excel表名,应该如何处理?二、实现过程我们继续问ChatGPT,它给出了一个方法,如下所示:提问如下:假如你是一名Python程序员,现在你有一个自动化办公的需求,你桌面上有一个新建文件夹......
  • 关于springboot上传完文件读取时资源目录未更新的情况
    之前在实现教学视频上传功能的时候碰到了一个问题,那就是每上传完一个视频文件,页面找不到对应的路径,必须重新构建项目才能找到相应的文件今天在课堂上向老师咨询,才明白javaweb项目读取资源并不是读取实际的本地资源,而是读取target对应目录下的,每个项目都会生成一个对象的target目......
  • 读取数据库JSON格式数据信息处理办法记录
    遇到的问题:现有代码如下defListQuery(self):sql01="SELECTcontentFROMzt_user_customdata\WHERErealname='alarm-server'ANDaccount='alarm-server'"result01=self.CommonQueryFunc(sql01)result02=str(resu......
  • Python 读取文件首行和最后一行
    常规方法:从前往后依次读取步骤:open打开文件。读取文件,把文件所有行读入内存。遍历所有行,提取指定行的数据。优点:简单,方便缺点:当文件大了以后时间太慢,无法忍受fname='test.html'withopen(fname,'r',encoding='utf-8')asf:#打开文件lines=f.readlines()#......
  • 1千小学必知百科知识题库ACCESS\EXCEL数据库
    《小学必知百科知识题库ACCESS数据库》主要针对小学阶段的内容编制。通过智力问答的形式,将不同科目的知识串联起来,让知识通过你问我答的形式记忆的更加深刻。每天随机问孩子十个问题,不需多久孩子的知识面就丰富很多。分类情况为:地理(共217条)、科学(共203条)、历史(共178条)、社会(共13......
  • 关于Excel表格中对多个General或者Number数值格式的单元转换为Text文本时-值包含E+的
    对于单元格的值为默认的General或者Number数字时,我们可以直接选中,单元格,或者某个范围,可以直接将上面的格式处选择为Text这样就完成了一次格式转换,如下默认是General普通格式,我们直接就将其转换成Text文本格式不过只有当我们将鼠标双击一下单元格式,才会看到左上角看到熟悉的Text......
  • 500多条汉字常见错别字题库ACCESS\EXCEL数据库
    之前发过一个叫《汉字英雄100个最容易错误的汉字》的ACCESS数据库,严格的说这个数据库不算题库,因为没有选项;而今天的这个《汉字常见错别字题库ACCESS数据库》却是有选项的题库:这些题目出自历届高考的易错字大全。想测试下自己的语文功力吗?想提高自己的汉语水平吗?还在等什么,快来试......
  • 819古玩文物鉴赏ACCESS\EXCEL数据库
    古玩,又称文物、骨著等,被视做人类文明和历史的缩影,融合了历史学、方志学、金石学、博物学、鉴定学及科技史学等知识内涵。《古玩文物鉴赏ACCESS数据库》包含了:陶瓷、翡翠、书画、青铜器、紫砂壶、雕品、钱币、家具、奇石等等。希望对您在古玩方面提供一定的参考价值。古......
  • 9万多条执业医师资格考试题库ACCESS\EXCEL数据库
    《9万多条执业医师资格考试题库ACCESS数据库》搜集了大量执业医师资格考试试题,包括临床执业医师资格考试试题、口腔执业医师资格考试试题、中医执业医师资格考试试题、中西医结合执业医师资格考试试题、公卫执业医师资格考试试题等。分类情况包含:临床执业医师(22428条)、口腔执业......
  • 1万多条司法资格考试题库ACCESS\EXCEL数据库
    《1万多条司法资格考试题库ACCESS版》搜集了大量司法资格考试试题,包括试卷一、试卷二、试卷三、试卷四等科目。同类的数据库有《9万多条执业医师资格考试题库ACCESS数据库》、《6万多条会计从业资格考试题库ACCESS版》、《近7万多条证券从业资格考试题库ACCESS版》、《1万多条一级......