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 ...
随机推荐
- python 解析json loads dumps
认识 引用模块 重要函数 案例 排序 缩进参数 压缩 参考 认识 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standa ...
- A daemon process class in python
In everbright task schedule project, we need some daemon process to do certain work, here is a examp ...
- linux安装hadoop 1.2.1
我的服务器里面会装很多东西,所以我在跟目录下面建立了个doc文档文件夹 1.创建存放软件的doc文件夹 mkdir doc 2.进去doc文件夹进行下载hadoop-1.2.1资源包或者到我的百度云下 ...
- Oracle Stored Procedure demo
1.how to find invalid status stored procedure and recompile them? SELECT OBJECT_NAME , status FROM u ...
- 探索 OpenStack 之(14):OpenStack 中 RabbitMQ 的使用
本文是 OpenStack 中的 RabbitMQ 使用研究 两部分中的第一部分,将介绍 RabbitMQ 的基本概念,即 RabbitMQ 是什么.第二部分将介绍其在 OpenStack 中的使用. ...
- TestNG之Factory
如果我们的测试方法中,同一个变量需要很多个不同的测试数据,那么这些测试数据由谁提供呢,testng提供了factory的注解,下面我们来一探究竟. 一.单独使用Factory 1.新建一个含有@Fac ...
- 怎么运用好ZBrush中Magnify膨胀笔刷
Magnify膨胀笔刷是ZBrush笔刷中经常使用的,利用该笔刷可绘制中心向四周膨胀的效果.本文内容向大家介绍ZBrush®中膨胀笔刷以便大家熟悉它的用法和特性. 查看更多内容请直接前往:http:/ ...
- 怎样快速学会ZBrush 中的移动笔刷的运用
本篇视频教程,进入ZBrush®最精彩章节,雕刻前我们需要认识的雕刻工具-笔刷.zbrush自带了多种笔刷供大家选择和使用,掌握和用好这些笔刷将让我们的雕刻工作更加自由.本课的内容将主要向大家介绍最基 ...
- 2014 Super Training #10 C Shadow --SPFA/随便搞/DFS
原题: FZU 2169 http://acm.fzu.edu.cn/problem.php?pid=2169 这题貌似有两种解法,DFS和SPFA,但是DFS怎么都RE,SPFA也要用邻接表表示边, ...
- 关于JS获取select值的两种实现方法
前几天发了一篇关于javascript获取select值的方法,后来发现有另一种实现方法,所以就都发出来比较一下: 方法一:通过获取option标签的value值来确定: <!DOCTYPE h ...