excel数据导入到sqlserver中---------工作笔记
调用页面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using JuMi.BLL.Business;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms; using JuMi.Model.Business;
using JuMi.BLL.Business; namespace JuMi.Web.Form.Manager.Business
{
public partial class WebForm1 : JuMi.Web.UI.BasePage
{
protected void Page_Load(object sender, EventArgs e)
{ }
/// <summary>
/// 导入广告商信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdverInfo_Click(object sender, EventArgs e)
{
DataTable dt = ExcelDemo.GetExcelToDatatable("F:\\Demo\\excelDemo.xlsx", "table");
int count = 0;
for (int i = 0; i < dt.Rows.Count; i++)
{
Model_Advertiser model = new Model_Advertiser();
model.Adver_CompanyName = dt.Rows[i][0].ToString();//名称
model.Adver_Distinguish = dt.Rows[i][1].ToString();//税号
model.Adver_RegisPhone = dt.Rows[i][2].ToString();//电话
model.Adver_BankNumber = dt.Rows[i][3].ToString();//银行账号
model.Adver_BankAddress = dt.Rows[i][4].ToString();//开户行地址
model.Adver_RegisAdress = dt.Rows[i][5].ToString();//注册地址
model.Adver_State = 0;
if (AdvertiserBLL.Add(model) > 0)
{
count++;
}
}
if (count >= dt.Rows.Count)
{
JscriptMsgSuccess("广告商信息导入成功!", "", "function(){api.reload();}");
}
else
{
JscriptMsgError("广告商信息导入失败!", "", "function(){api.reload();}");
}
} }
}
实现方法页:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb; namespace JuMi.BLL.Business
{
public class ExcelDemo
{
/// <summary>
/// Excel数据导入Datable
/// </summary>
/// <param name="fileUrl">文件路径</param>
/// <param name="table"></param>
/// <returns></returns>
public static DataTable GetExcelToDatatable(string fileUrl, string table)
{
//支持office2007之前的 .xls
//const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';";//链接字符串
//支持.xls和.xlsx,即包括office2010等版本的 HDR=Yes代表第一行是标题,不是数据;
const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
DataTable dt = null;
//建立连接
OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));
try
{
//打开链接
if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
{
conn.Open();
}
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//获取excel的第一个sheet名称
string sheetName1 = schemaTable.Rows[]["TABLE_NAME"].ToString().Trim();
//查询sheet数据
string strSql1 = "select * from [" + sheetName1 + "]";
OleDbDataAdapter da = new OleDbDataAdapter(strSql1, conn);
DataSet ds = new DataSet(); da.Fill(ds, table);
dt = ds.Tables["" + table + ""];
return dt; }
catch (Exception exc)
{
throw exc;
}
finally
{
conn.Close();
conn.Dispose();
}
} }
}
excel数据导入到sqlserver中---------工作笔记的更多相关文章
- java实现EXCEL数据导入到数据库中的格式问题的解决
之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...
- 在 Symfony Command中自定义脚本把Excel数据导入到数据库中
// 注:只是在此做下记录,有兴趣的可以参考,不做实际教程文档 <?php/** * Created by IntelliJ IDEA. * User: davis * Date: 2019-0 ...
- 利用workbench将excel数据导入到MySQL中
数据导入的方式(csv,txt之类) 在MySQL中,数据导入的方式有两种方式 通过第三方客户端导入(workbench) 通过mysql client 方式导入 通过mysql clinet的导入方 ...
- Excel 数据导入至Sqlserver 数据库中 ltrim() 、rtrim() 、replace() 函数 依次空格无效问题
今天导一些数据从Excel中至Sqlserver 数据库中,在做数据合并去重的时候发现,有两条数据一模一样,竟然没有进行合并: 最后发现有一条后面有个“空格”,正是因为这个“空格”让我抓狂许久,因为它 ...
- asp.net Excel数据导入到数据库中
protected void Btn_Import_Click(object sender, EventArgs e) { bool Result_Import = false; bool Resul ...
- SQL语句完成Excel数据导入数据库表中流程方法及注意事项
第一步:先查看数据库是否安装AccessDatabaseEngine_X64.exe, 如下图查看: 如果未安装先下载脚本之家下载地址 https://www.jb51.net/softs/29150 ...
- Excel数据导入至Dataset中
public static DataSet ExcelToDataSet(string ppfilenameurl,string pptable) { string strConn = "P ...
- Npoi将excel数据导入到sqlserver数据库
/// <summary> /// 将excel导入到datatable /// </summary> /// <param name="filePath&qu ...
- 将excel中的sheet1导入到sqlserver中
原文地址:C#将Excel数据表导入SQL数据库的两种方法作者:windream 方式一: 实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但 ...
随机推荐
- Java高阶面试问题合集
下面总结一下在Java面试中常用的一些问题,不具体解答,我只附上一些精彩的博文链接. Spring IOC AOP 底层原理 JAVA的反射机制和动态代理 Java反射机制和动态代理 多线程 Spri ...
- iOS触摸事件处理
iOS触摸事件处理 主要是记录下iOS的界面触摸事件处理机制,然后用一个实例来说明下应用场景. 一.处理机制 界面响应消息机制分两块, (1)首先在视图的层次结构里找到能响应消息的那个视图. (2 ...
- BZOJ 3107 二进制a+b
Description 输入三个整数\(a, b, c\),把它们写成无前导\(0\)的二进制整数.比如\(a=7, b=6, c=9\),写成二进制为\(a=111, b=110, c=1001\) ...
- C51 I2C接口驱动,IO口模拟I2C(主+从)
Master.asm ;/*------------------------------------------------------------------*/ ;/* --- STC MCU I ...
- 我的VSTO之路(四):深入介绍Word开发
原文:我的VSTO之路(四):深入介绍Word开发 在上一篇文章中,我介绍了Word的对象模型和一些基本开发技巧.为了更好的介绍Word插件开发,我为本文制作了一个Word书签的增强版,具体功能是让用 ...
- Struts2 文件上传,下载,删除
本文介绍了: 1.基于表单的文件上传 2.Struts 2 的文件下载 3.Struts2.文件上传 4.使用FileInputStream FileOutputStream文件流来上传 5.使用Fi ...
- bzoj2730
首先不难想到要先求割顶,求割顶的方法白书上有讲解由于是一个矿崩塌,所以假如一个连通块连接了两个以上割顶,那么这个连通块内显然是不用设出口的连接块只连接了一个割顶,那么出口可以设在这个连通块内任意位置由 ...
- Linux Kernel 'dispatch_discard_io()'安全绕过漏洞
漏洞版本: Linux Kernel 漏洞描述: Bugtraq ID:60414 CVE ID:CVE-2013-2140 Linux是一款开源的操作系统. 由于不充分的检查BLKIF_OP_DIS ...
- POJ 2762 Going from u to v or from v to u?(强联通 + TopSort)
题目大意: 为了锻炼自己的儿子 Jiajia 和Wind 把自己的儿子带入到一个洞穴内,洞穴有n个房间,洞穴的道路是单向的. 每一次Wind 选择两个房间 x 和 y, 让他的儿子从一个房间走到 ...
- document.getElementById的简便方式
封装自己的元素获取方法,使元素获取变得简便 注意:1.应该要防止定义的被重写,可将同名的重新定义 2.可将封装的对象置为全局对象,方便使用 通过id查找单个元素 封装方式: //通过id查找单个元 ...