ASP.NET关于对excel数据导入到数据库
//*******************************C#(UI代码)********************************/
Web界面上放一个FileUpload 名称为:FileUpload1, 一个button按钮,名称为button1
程序中应用的两个外部引用为:Ionic.Zip.dll 和 NPOI.dll ; Ionic.Zip.dll可以不引用,单独的NPOI.dll也是可以的
//*********************************C#(UI代码)****************************/
namespace WebApp.BaseData
{
public partial class Test : System.Web.UI.Page
{
public string strPath; /*strPath这个变量用来存储上传上来的文件名*/
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.FileName != "") /*1判断用户是否添加了文件*/
{
strPath = FileUpload1.FileName; /*1获取文件名*/
string MapPath = Server.MapPath("../bin/"); /*1更改路径*/
FileUpload1.SaveAs(MapPath + FileUpload1.FileName);
#region MyRegion
using (FileStream file = new FileStream(MapPath + strPath, FileMode.Open, FileAccess.Read))//1以文件流的形式打开文件
{
using (Workbook wk = new HSSFWorkbook(file))/*1打开工作薄*/
{
using (Sheet sheet = wk.GetSheetAt())
{
for (int j = ; j <= sheet.LastRowNum; j++)//1循环行数量 j=1表示不要第一列,因为第一列是字段的名字
{
Row row = sheet.GetRow(j);//1获取行
int length = row.LastCellNum; ////////1这条语句,在本程序中,没有作用,可以删除,仅做调试使用
List<string> list = new List<string>();
for (int i = ; i < row.LastCellNum; i++)
{
Cell cell = row.GetCell(i);//1获取单元格里的数据
if (cell != null)//1如果单元格里有数据
{
list.Add(cell.ToString());//则将这个单元格里的数据添加到List集合里;
}
}
ArrayList array = new ArrayList(); //1创建一个Array数组
for (int k = ; k < list.Count; k++)//1循环读取List集合里的一行数据,本程序是读一行,插入一行
{
array.Add(list[k].ToString());//1将List集合里的一行数据,放到Array数组里,方便作为参数传递;
}
BLL.AL.BLL_Test bll = new BLL.AL.BLL_Test();
int num = bll.InsertDate(array);//1调用BLL的Test(参数)方法,将一行数据传过去
}
}
}
}
#endregion
}
else
{
Response.Write("<script>alert('请选择文件')</script>");
}
}
}
} //*****************************************************C#(BLL代码)***************************************************/
DAL.AL.DAL_Test dal = new DAL.AL.DAL_Test();
public int InsertDate(ArrayList array)
{
return dal.InsertDate(array);//将一行数据传给DAL
}
//*****************************************************C#(DAL代码)***************************************************/
public int InsertDate(ArrayList array)
{
string sql = "insert into Test(T_ProdDate,T_Paln,T_Prod) values(@T_ProdDate,@T_Paln,@T_Prod)";//写插入的SQL语句
SqlParameter[] parameter ={ //1参数,这里面写的有点死
new SqlParameter("@T_ProdDate",array[]), //1,我的数据库里只有三列数据
new SqlParameter("@T_Paln",array[]),
new SqlParameter("@T_Prod",array[])
};
return Utility.SqlHelper.ExecuteNonQuery(sql, parameter);
}
//*****************************************************C#(Excel里面的样式,将下面的数据复制到EXCEL表格里面)***************************************************/
时间 计划 实际
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- :
-- : //*****************************************************C#(SQL Server 数据表结构)***************************************************/
create table Test
(
T_ID INT identity(,) primary key, //1序号
T_ProdDate varchar() not null, //1生产日期
T_Paln varchar() not null, //1计划产量
T_Prod varchar() not null, //1实际产量
T_IsDel CHAR() default '' //1删除标志
)
ASP.NET关于对excel数据导入到数据库的更多相关文章
- 将Excel数据导入mysql数据库的几种方法
将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...
- 利用TOAD实现把EXCEL数据导入oracle数据库
利用TOAD实现把EXCEL数据导入oracle数据库 工具: Toad11.7z(百度搜索,直接下载) 1.将Excel文件中某些字段导入到Oracle数据库的对应表 连接想要导入的数据库 ,然 ...
- c#将Excel数据导入到数据库的实现代码
这篇文章主要介绍了c#将Excel数据导入到数据库的实现代码,有需要的朋友可以参考一下 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 代码如下: using Syste ...
- java实现EXCEL数据导入到数据库中的格式问题的解决
之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...
- NOPI Excel 数据导入到数据库
/// <summary> /// 上传excel文件 并将文件数据导入到数据库 /// </summary> /// <param name="file&qu ...
- 把Excel数据导入到数据库
引入命名空间 using System.IO; using System.Data; using System.Data.OleDb; 引入命名空间 首先要把Excel上传到服务器 //上传Excel ...
- c#将Excel数据导入到数据库的实现代码(OleDb)
sing System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web ...
- c#将Excel数据导入到数据库的实现代码(转载)
假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码如下: using System; using System.Collections.Generic ...
- C# Excel数据导入到数据库
http://www.jb51.net/article/44743.htm 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 复制代码 代码如下: using System ...
随机推荐
- SQL删除重复数据只保留一条
用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select ...
- eclipse工具常用快捷键总结
1. ctrl + shift + r 可以根据类名快速找到你所需要的类名称 2. ctrl + shift + i debug的时候可以查看代码的值 3. ctrl + shift + f ...
- js获取网页中宽高度集合
document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.docume ...
- Linux系统性能优化思路和方法
#影响Linux性能的CPU.内存.磁盘.网络等因素分析1.系统硬件资源:CPU,多核与超线程消耗CPU的业务:动态WEB服务,Mail服务器2.内存:物理内存与swap的取舍,64操作系统消耗内存的 ...
- [Idea] 在idea中使用jetty debug
1.添加jetty的maven插件 <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId> ...
- 如何把Qlik Sense嵌入到Web应用中
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:这是一个给初学者(尤其对VS不熟悉的BI工程师)的入门操作向导. Qlik Sense是 ...
- Python-基础数据类型
数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...
- 1 Maximum Product Subarray_Leetcode
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- c#教程之通过数据绑定修改数据
通过数据绑定修改数据 "实体框架"提供了与数据库的双向通信通道.前面已经讲述了如何使用"实体框架"获 取数据,现在来看看如何修改获取的信息,并将改动发送回数据库 ...
- UGUI研究院之控件以及按钮的监听事件系统
继续学习,我相信大家在做NGUI开发的时候处理事件都会用到UIEventListener,那么UGUI中怎么办呢?先看UGUI的事件有那些吧 Supported Events The Eventsys ...