excel导入数据库
日常工作中,感觉一些基础知识需要做下笔记,可能是刚毕业的缘故吧,还保持着做笔记的习惯,但根据以往经验,纸质笔记最多保持一年,过后想找已是难过登天。电子版笔记感觉很不错,尤其是发布到网络中。笔记内容是本人遇到的感觉可能会有些用的东西,很是琐碎,记录在博客园中,仅供学习参考。
1、将数据库中的内容显示到一个窗体界面中,此次将它显示到datagrid中。
思路:可以说没有什么思路,很简单。读取数据库中某个表格的内容,将其放到dataset中,然后将其作为datagrid的源即可。
贴代码:
string sqlstr = "server=192.168.100.46;database=PublicProgram;User ID=sa;pwd=typt";
using (SqlConnection sqlconn = new SqlConnection(sqlstr))
{
using (SqlCommand sqlcomm = sqlconn.CreateCommand())
{
sqlcomm.CommandText = "select top 3 * from Transcript order by ExamTime desc ";
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(sqlcomm);
adapter.Fill(dt);
DataTable ds = dt.Tables[];
this.dataGrid1.ItemsSource = dt.Tables[].DefaultView;
}
}
2、获取excel表格中的内容,此次将excel中的内容保存数据库中
思路:获取excel的路径,通过OleDB方式获取excel文件的数据,保存到dataset中。接着可以单个获取dataset中值或者导入到数据库中。
获取excel的路径:
OpenFileDialog openFileDialog = new OpenFileDialog();
DialogResult result = openFileDialog.ShowDialog();
if (result ==System.Windows .Forms .DialogResult .Cancel )
{
return;
}
string fileName = openFileDialog.FileName;
tbPath.Text = fileName;
通过OleDB方式获取excel文件,并保存到dataset
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath + ";" + "Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
string sql = string.Format("SELECT * FROM [{0}$]", sheetName);
OleDbDataAdapter OleDbDAdap = new OleDbDataAdapter(sql, OleConn);
DataSet ds = new DataSet();
OleDbDAdap.Fill(ds, sheetName);
OleConn.Close();
获取dataset后,可以将它存取到数据库中,也可以从其中得到需要的数据信息
存到数据库中:
using (SqlBulkCopy bcp = new SqlBulkCopy(connectionString))
{
//bcp.SqlRowsCopied += new SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
bcp.BatchSize = ; //每次传输的行数
bcp.NotifyAfter = ; //每次提示的行数
bcp.DestinationTableName = "[PublicProgram].[dbo].[User]";//目标表
bcp.WriteToServer(ds.Tables[]);
}
如果获取单个数据,举例简单说明一下:
int length = ds.Tables[].Rows.Count;
int len = ds.Tables[].Columns.Count;
id = Convert.ToInt32(ds.Tables[].Rows[length-][len-]);
pwd = Convert.ToInt32(ds.Tables[].Rows[][]);
for (int i = ; i < length - ; i++)
{
id = Convert.ToInt32(ds.Tables[].Rows[i][]);
pwd = Convert.ToInt32(ds.Tables[].Rows[i][]);
}
3、wpf设置datagrid的一些属性:
在第一道题中写到了将dataset作为datagrid的数据源,这里仅介绍在wpf中datagrid的一些用法。
改变datagrid的标题行的一些属性:
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="black"/>
<Setter Property="Foreground" Value="white"/>
<Setter Property="FontSize" Value="20" />
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
</DataGrid.ColumnHeaderStyle>
将标题绑定到一些数据源中,设置其中的内容居中
首先需要将控件设定样式:
<Page.Resources >
<ResourceDictionary >
<Style x:Key="dgCell" TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center"/>
</Style >
</ResourceDictionary >
</Page.Resources >
然后调用:
<DataGrid.Columns >
<DataGridTextColumn Header="成绩" Width="50" Binding="{Binding Path=Score}" IsReadOnly="True" ElementStyle="{StaticResource dgCell}"/>
<DataGridTextColumn Header="项目" Width="50" Binding="{Binding Path=Curriculum}" IsReadOnly="True" ElementStyle="{StaticResource dgCell}"/>
</DataGrid.Columns >
笔停此处。继续学习,继续前行。
/// <summary>
/// 查询excel电子表格添加到dataset
/// </summary>
/// <param name="filenameurl"></param>
/// <returns></returns>
public DataSet ExecleDs(string filenameurl)
{
string strConn = "Provider=Microsoft.ACE.OleDb.12.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataSet ds = new DataSet();
string strSql = string.Format("SELECT * FROM [{0}$]", "Sheet1");
OleDbDataAdapter odda = new OleDbDataAdapter(strSql, conn);
odda.Fill(ds, "hou");
return ds;
}
excel导入数据库的更多相关文章
- excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution
当本地安装的excel(2013版) 是64-bit时:出现的以下两种错误 解决: 1. excel 导入数据库 , 如果文件是2007则会出现:“The 'Microsoft.ACE.OLEDB.1 ...
- ASP.NET 将Excel导入数据库
将Excel导入数据库大致流程: Excel数据->DataSet->数据库 需要做的准备:1.FileUpload控件一个,按钮一个,如果需要即时显示那么GridView或DataGr ...
- Java实现将Excel导入数据库和从数据库中导出为Excel
实现的功能: 用Java实现从Excel导入数据库,如果存在就更新 将数据库中的数据导出为Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的 ...
- 记录-java(jxl) Excel导入数据库
本内容主要包括(文件上传.excel2003数据导入数据库)excel导入数据库功能需要jxl jar包支持 下面是文件上传的前端测试代码 <%@ page language="ja ...
- Excel导入数据库百万级数据瞬间插入
Excel导入数据库百万级数据瞬间插入 百万级别,瞬间,有点吊哇
- Hibernate+jxl+excel导入数据库
在将excel中的10w行数据导入数据库中时,总发生内存溢出,一开始使用的Spring+Hibernate;不知如何使用批处理,后来只是用Hibernate,10W行数据几分钟完成, 代码如下: pu ...
- 使用thinkphp框架实现Excel导入数据库
之前讲过php实现Excel导出数据库的随笔,链接:https://www.cnblogs.com/nuanai/p/6727711.html 之前的项目用到较多的就是Excel导出,现在用到了Exc ...
- Excel导入数据库(三)——SqlBulkCopy
上篇博客中介绍了批量导入数据库的方法:下面介绍一下批量导入过程的核心——SqlBulkCopy类. 下面先介绍一些原理性的东西:SQLBulkCopy类,通常用于数据库之间大批量的数据传递.即使表结构 ...
- 第三次作业---excel导入数据库及显示(2)
发现第一次做的功能有点复杂,不能理解.而且第一次的想法是在页面上上传文件,连接并导入到数据库,并在页面上显示.后来才看到要求是直接在本地将数据导入数据库就行了,然后显示.所以才出现了一堆看不懂也解决不 ...
- Excel导入数据库脚本
--数据库中不存在需要导入的表 SELECT * INTO tab_PurchasePriceTemp FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'EXC ...
随机推荐
- JavaScript中点号“.”的多义性
点号「.」在JavaScript中有两种语义 语义1.表示算术中的小数点(浮点数),如 2.5 语义2.取对象属性.方法,如 [].push(2) 这几乎没有任何难理解的地方,但下面这个问题则很有趣. ...
- [转]比NPOI更討喜的Excel元件-EPPlus
本文转自:http://blog.darkthread.net/post-2012-05-12-epplus.aspx 前陣子發表 [潛盾機]將檔案結構匯成Excel文件,從網友佑翔的留言(特此感謝) ...
- zookeeper适用场景:zookeeper解决了哪些问题
问题导读:1.master挂机,传统做法备份必然是以前数据,该如何保证挂机数据与备份数据一致?2.分布式系统如何实现对同一资源的访问,保证数据的强一致性?3.集群中的worker挂了,传统做法是什么? ...
- 使用DateLocaleConverter和SimpleDateFormat实现字符串转换成日期
使用DateLocaleConverter: public static void change() { String birthday = "1990-12-32"; DateL ...
- java 空指针异常(java.lang.NullPointerException)
在Java中对值为null的指针调用任何方法,就会引发空指针异常(java.lang.NullPointerException).空指针异常绝对 是Java中最难查找和调试的一种异常,你永远无法得到任 ...
- uGUI练习(七) Drag And Drop
练习目标 练习UI的拖放操作 一.相关组件 EventTrigger Canvas Group ScrollRect Mask Scrollbar 二.拖放练习 1.创建一个Panel,命名Panel ...
- WindowXP与WIN7环境安装、破解、配置AppScan8.0
---------------------------------------------------------------------------------------------------- ...
- 纯CSS3画出小黄人并实现动画效果
前言 前两天我刚发布了一篇CSS3实现小黄人动画的博客,但是实现的CSS3动画是基于我在站酷网找到的一张小黄人的jpg格式图片,并自己用PS抠出需要实现动画的部分,最后才完成的动画效果.但是,其实我的 ...
- S2--《优化MySchool数据库设计》总结
第一章 数据库的设计 1.1 数据库设计 数据库中创建的数据库结构的种类,以及在数据实体之间建立的复杂关系是决定数据库系统效率的重要因素. 糟糕的数据库设计表现在以下两个方面: *效率低下 * ...
- C语言 读取文件中特定数据
//读取文件数据 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> struct jia ...