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 ...
随机推荐
- 使用Fiddler关于“由于目标计算机积极拒绝,无法连接。”的解决方案
今天使用Fiddler的时候遇到下面这个问题:在地址栏想打开个一般处理程序,出现连接本机失败的提示,如下图: 而这在我没打开Fiddler的时候是显示正常的. 查看Fiddler,在嗅探 -> ...
- 【转】Android 底层开发的几点
我干了3年Android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径.根据前辈的经验,Android底层完全入门需要两年. 先说下我的入门过程:第零步,下载源码,我下的 ...
- 自连接<EntityFramework6.0>
自引用 public class PictureCategory { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ...
- Python-面向对象(类)二
一.成员修饰符 • 共有成员 • 私有成员 __+字段 __:成员修饰符 无法直接访问,只能通过该成员所属类的方法简介访问 class Foo: def __init__(self, name, ag ...
- CozyRSS开发记录8-解析一份RSS
CozyRSS开发记录8-解析一份RSS 1.使用Rss20FeedFormatter解析RSS 使用Rss20FeedFormatter配合XmlReader来解析RSS非常的简单,几行搞定: 来试 ...
- SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)(1)
很多人对Xpath可能比较熟悉,但不知道有没有直接操作过数据库,我们都知道 在Sql2005里公支持的几种查询有Raw,Auto模式,页并没有Path和Elements用法等,如果在2000里使用过 ...
- three.js贴图
使用图像作为材质.这时候,就需要导入图像作为纹理贴图,并添加到相应的材质中 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//E ...
- Proxy setting
1. git git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080 2. gradleScena ...
- 从零开始山寨Caffe·伍:Protocol Buffer简易指南
你为Class外访问private对象而苦恼嘛?你为设计序列化格式而头疼嘛? ——欢迎体验Google Protocol Buffer 面向对象之封装性 历史遗留问题 面向对象中最矛盾的一个特性,就是 ...
- MacOS下Express安装过程中遇到的问题
问题描述: 使用nmp install express -g命令全局安装express后,在终端使用express -V命令可以获取到express的版本号,但在引用express的项目运行时,会报缺 ...