文档库 最新最全的文档下载
当前位置:文档库 › 基于Excel的小型数据库系统开发

基于Excel的小型数据库系统开发

基于Excel的小型数据库系统开发
基于Excel的小型数据库系统开发

基于Excel的小型数据库系统开发

[摘要]不同类型数据之间的自动交换与处理是数据管理人员日常工作的重要内容。对于来自不同表格的数据,需要专业人员借助Access或Visual FoxPro 等数据库软件开发应用系统软件来完成,耗费的时间长、成本高。为了降低成本,提高工作效率,本文通过实例分析,提出利用Excel的数据链接功能,开发小型数据库管理系统的方法,可轻松实现数据的自动交换与处理。

[关键词]小型数据库;数据交换与处理;数据链接

1 引言:

电子表格Excel以其强大的数据处理功能和使用方便的特点在办公领域得到普遍应用。但是,目前使用Excel多是进行单张表格的数据处理,多张表格之间的数据交换与处理一般通过多次“复制”、“粘贴”完成。这种做法不但重复工作量大,而且在修改数据时极易出错,造成严重的报表错误。通常认为,多张表格之间的数据交换与处理需要专业人员借助Access或Visual FoxPro等数据库软件开发应用系统软件来完成。其实,利用Excel数据链接功能,只要熟悉Excel操作,即可开发小型的数据库管理系统,轻松实现专业软件才具有的数据自动交换与处理功能。下面以建立2009年公用水电费管理系统为例,具体介绍这种方法:

2 设计思路

将汇总表、电费、水费、1-12月学院水费、电费报表以及饮食中心、浴池、超市水电费通知单集中在一个工作薄中,建立电费、水费表格与其它表格的数据链接,在电费、水费表格输入数据,其它表格自动生成报表和通知单。

3 基本步骤

3.1 建立系统工作薄和工作表

怎样用excel生成数据库update语句

2010-04-15 14:18 by 听风吹雨, 7150阅读, 16评论, , 需求: 我们需要把Excel中的一些资料更新到数据库表中,比如学生的考试系统,在数据中已经有了考生的ID,这里有一份考生ID和考生成绩的Excel表,我们如何把考生成绩更新到数据库表中呢? 方案: 1.我们最常使用的做法就是把这个Excel表导入到数据库中,在使用update语句来 更新表。没错,这就是我通常使用的方法,但是有些人他们不安常理出牌,有时 候客户说:我只会执行SQL,我不知道怎么把Excel导入到数据库中。 2.这个时候我们如何把要更新的内容生产SQL语句给到客户呢?如何是一两条记录, 我们手动写SQL就可以了,但是如果有几百个学生,我们要手动写几百条语句吗? 是否有批量生成SQL脚本的方法?这就是我们这里要讲到的:使用Excel批量生 成SQL脚本(小技巧) 过程: 这是一个原始的Excel表,它包括了一些ID值和需要更新字段的值: (图:1) 1:确定需要生成的SQL语句模型。 --根据需求写一条SQL模板 update表set[Longitude]='', [Latitude]=''where[ID]=''and[Name]=''

2:删除Excel表中多余的列,保留需要更新和查询条件的列。并按照需要生成的sql语句顺序进行排序。 前面两个列是需要更新的值,后面两个是where的条件字段 (图:2) 3:在Excel表插入空列,拷贝相关的语句进去。 拷贝第一语句放入合适的单元格,把把这一列一拖到底,生成同样的语句 (图:3) 4:把结果拷贝到查询分析器中,使用替换把多余的空格去掉。 (图:4) --下面就是生成的语句 update[XX]set[Longitude]='113.41993', [Latitude]='23.42718'where[ID]='dd9a619 7-a068-4eae-83cd-01f75e827234'and[Name]='XXXX' update[XX]set[Longitude]='113.41993', [Latitude]='23.42718'where[ID]='dd9a619 7-a068-4eae-83cd-01f75e827234'and[Name]='XXXX' update[XX]set[Longitude]='113.41993', [Latitude]='23.42718'where[ID]='dd9a619 7-a068-4eae-83cd-01f75e827234'and[Name]='XXXX' --。。。。。。

c#实现excel数据高效导入到sql数据库

c#实现excel数据高效导入到sql数据库 本文来自: IT知道网(https://www.wendangku.net/doc/f33880770.html,) 详细出处参考: https://www.wendangku.net/doc/f33880770.html,/html/net/c/20081210/3092.html 本文实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是 System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10 秒左右,而真正的导入过程只需要4.5秒。 using System; using System.Data; using System.Windows.Forms; using System.Data.OleDb; namespace WindowsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //测试,将excel中的sheet1导入到sqlserver中 string connString = "server=localhost;uid=sa;pwd=sqlgis;database=master"; System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); if (fd.ShowDialog() == DialogResult.OK) { TransferData(fd.FileName, "sheet1", connString); } } public void TransferData(string excelFile, string sheetName, string connectionString) { DataSet ds = new DataSet(); try { //获取全部数据 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open();

SQL在Excel中的应用方法

iamlaosng文 Excel中使用SQL的主要目的是连接(或Excel工作表)导入数据或者对这些数据进行统计汇总,要达到这个目的,需要好好学习SQL语句的使用。本文主要说明在Excel中如何使用SQL,至于SQL语句本身就不多作介绍了。 一、简单的查询 1、建立查询 数据选项卡—现有连接—浏览更多或者按快捷键Alt+D+D+D 选择要查询的Excel文件和文件中的的工作表,就可以将相应工作表的数据取过来。表现形式可以是表,也可以是数据透视表等。 2、SQL查询语句 如果是挑选部分列数据,就需要用SQL语句(取所有数据也可以用SQL语句)。 建立查询时,选择工作表后不要点击“确定”按钮,而是先点击“属性”按钮,弹出窗口中选择“定义”选项卡,在命令文本框中输入SQL查询语句(原来的工作表名称,表示所有数据,可以认为是取所有数据的SQL的一种特殊写法): Select 字段列表 from [工作表名$] --其中字段列表就是需要选择的字段,数据源用工作表名称加“$“再用中括号括起来,例如: select prov_name, city_name, xs_mc, xs_code from [Sheet1$] select * from [Sheet1$]-- 取所有数据 偶然发现,字段名不能用no,估计是保留字,如需要,用中括号括起来,例如:select [no],prov_name,city_name, xs_mc, xs_code from [Sheet1$]

字段名中含有特殊字符的也要用中括号括起来,如/ 空格等 Excel查询没有伪表概念,对于表达式的计算直接用select既可,例如 Select 23+45 -- 返回68 Select date() -- 返回当前日期 3、修改查询语句 方法:点击右键—弹出菜单—表格—编辑查询 通过修改SQL语句可以变更所取的数据,也可以将建立查询时的简单SQL语句改成复杂的SQL语句。 字段名更换:如果想换个字段名,用“as 新字段名”既可,例如: select prov_name as 省, city_name as 城市, xs_mc as 县市, xs_code as 编码 from [Sheet1$] 非正常表格:数据区域(含字段名)不在第一行 需要在工作表名称后面指定数据范围,例如: select prov_name, city_name, xs_mc, xs_code from [Sheet1$B2:G2000] 或者,将数据块定义为一个名称,假设定义为mydata,SQL语句如下: select prov_name, city_name, xs_mc, xs_code from mydata 注意:使用名称时没有$符号,也没有方括号了。 数据更新:数据源发生变化,需要更新数据,方法:点击右键—弹出菜单—刷新 意外:如果打开Excel文件后弹出不是选择工作表的窗口而是一个“数据连接属性” 窗口,可以关闭这个窗口,然后将Excel应用极小化再极大化方式消除,或者在弹 出选择文件的窗口时,退回上一级文件夹,删除那个Queries文件夹,就行了。

Excel建立数据库教程

日常工作中,我们常常需要建立一些有规律的数据库。例如我为了管理全乡的农业税,需建立一数据库,该数据库第一个字段名为村名,第二个字段名为组别。我乡共19个村,每个村7~17个组不等,共计258个组。这个数据库用数据库软件(哪怕是Visual FoxPro6.0或是Access97等高档次的)很不好建立——逐个儿输入吗,只有傻瓜才有这种想法。用Access宏或FoxPro编程来输入吧,这些数据似乎还嫌不够规则(每个村对应的组数不一定相同),这个程序编写可就不那么简单了,除非你是编程高手兼编程迷,否则可有小题大作之嫌了。 其实Excel提供了一些很有用的功能,可让我们任何一个人都可轻松搞定这些数据库: 第一步:打开Excel97(Excel2000当然也行),在A列单元格第1行填上“村名”,第2行填上“东山村”,第19行填上“年背岭村”(注:东山17个组,2+17=19据此推算),第28行填上“横坡村”(算法同前,牛背岭村9个组:19+9=28),如此类推把19个村名填好。 第二步:在第B列第1行填上“组别”,第2行填上“第1组”并在此按鼠标右键选择“复制”把这三个字复制剪贴板,然后在每一个填有村名的那一行的B列点一下鼠标右键选择“粘贴”在那里填上一个“第1组”。 第三步;用鼠标点击选中A2“东山村”单元格,然后把鼠标单元格右下角(此时鼠标变为单“十”字形),按住鼠标往下拖动,拖过的地方会被自动填上“东山村”字样。用同样的方法可以把其它村名和组别用鼠标“一拖了之”。填组别时你别担心Excel会把组别全部填为“第1组”,只要你别把“第1组”写成“第一组”,Excel会自动把它识别为序列进行处理。所以拖动“第1组”时,填写的结果为“第2组”“第3组”……填完这两个字段后,其它的数据可以继续在Excel中填写,也可等以后在数据库软件中填写,反正劳动强度差不多。

使用Excel数据统计

使用Excel可以完成很多专业软件才能完成的数据统计、分析工作,比如:直方图、相关系数、协方差、各种概率分布、抽样与动态模拟、总体均值判断,均值推断、线性、非线性回归、多元回归分析、时间序列等。本专题将教您完成几种最常用的专业数据分析工作。 注意:所有操作将通过Excel“分析数据库”工具完成,如果您没有安装这项功能,请依次选择“工具”-“加载宏”,在安装光盘中加载“分析数据库”。加载成功后,可以在“工具”下拉菜单中看到“数据分析”选项。 直方图 某班进行期中考试后,需要统计各分数段人数,并给出频数分布和累计频数表的直方图以供分析。 以往手工分析的步骤是先将各分数段的人数分别统计出来制成一张新的表格,再以此表格为基础建立数据统计直方图。使用Excel可以直接完成此任务。 [具体方法] 描述统计 某班进行期中考试后,需要统计成绩的平均值、区间,并给出班级内部学生成绩差异的量化标准,借此来作为解决班与班之间学生成绩的参差不齐的依据。要求得到标准差等统计数值。 样本数据分布区间、标准差等都是描述样本数据范围及波动大小的统计量,统计标准差需要得到样本均值,计算较为繁琐。这些都是描述样本数据的常用变量,使用Excel 数据分析中的“描述统计”即可一次完成。[具体方法] 排位与百分比排位 某班级期中考试进行后,按照要求仅公布成绩,但学生及家长要求知道排名。故欲公布成绩排名,学生可以通过成绩查询到自己的排名,并同时得到该成绩位于班级百分比排名(即该同学是排名位于前“X%”的学生)。 排序操作是Excel的基本操作, Excel“数据分析”中的“排位与百分比排位”可以使这个工作简化,直接输出报表。[具体方法]

excel连接数据库

引用:microsoft activex data objects 2.7library 添加模块: Public conn As ADODB.Connection Public rs As ADODB.Recordset Public addFlag As Boolean '声明部分 Public Function OpenCn(ByVal Cip As String, ByVal users As String, ByVal pw As String) As Boolean '连接模块填写数据库等信息 Dim mag As String On Error GoTo strerrmag Set conn = New ADODB.Connection conn.ConnectionTimeout = 25 conn.Provider = "sqloledb" conn.Properties("data source").Value = Cip '服务器的名字 conn.Properties("initial catalog").Value = "ysmy" '数据库名称 'conn.Properties("integrated security").Value = "SSPI" '登陆类型 conn.Properties("user id").Value = users 'SQL库名 conn.Properties("password").Value = pw '密码 'sql = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=;Initial Catalog=pubs;Data Source=127.0.0.1" '如果不用这个模块也行可以,这一句便是常用的引擎。 'conn.ConnectionString = sql conn.Open OpenCn = True If conn.State = 1 Then addFlag = True Exit Function strerrmag: mag = "连接服务器出错!" Call MsgBox(mag, vbOKOnly, "Error:Data connect") addFlag = False Exit Function '连接错误消息 End Function '关闭数据库,释放连接 Public Sub cloCn() On Error Resume Next If conn.State <> adStateClosed Then conn.Close Set conn = Nothing End Sub Public Function openRs(ByVal strsql As String) As Boolean '连接数据库记录集 Dim mag As String Dim rpy As Boolean On Error GoTo strerrmag Set rs = New ADODB.Recordset If addFlag = False Then rpy = True With rs

SQL在Excel中的应用方法

SQL在Excel中的应用方法 iamlaosng文 Excel中使用SQL的主要目的是连接数据库(或Excel工作表)导入数据或者对这些数据进行统计汇总,要达到这个目的,需要好好学习SQL语句的使用。本文主要说明在Excel中如何使用SQL,至于SQL语句本身就不多作介绍了。 一、简单的查询 1、建立查询 数据选项卡—现有连接—浏览更多或者按快捷键Alt+D+D+D 选择要查询的Excel文件和文件中的的工作表,就可以将相应工作表的数据取过来。表现形式可以是表,也可以是数据透视表等。 2、SQL查询语句 如果是挑选部分列数据,就需要用SQL语句(取所有数据也可以用SQL语句)。 ?建立查询时,选择工作表后不要点击“确定”按钮,而是先点击“属性”按钮,弹出窗口中选择“定义” 选项卡,在命令文本框中输入SQL查询语句(原来的工作表名称,表示所有数据,可以认为是取所有数据的SQL的一种特殊写法): Select 字段列表from [工作表名$] --其中字段列表就是需要选择的字段,数据源用工作表名称加“$“再用中括号括起来,例如: select prov_name, city_name, xs_mc, xs_code from [Sheet1$] select * from [Sheet1$] -- 取所有数据 ?偶然发现,字段名不能用no,估计是保留字,如需要,用中括号括起来,例如:

select [no],prov_name,city_name, xs_mc, xs_code from [Sheet1$] 字段名中含有特殊字符的也要用中括号括起来,如/ ?空格等 Excel查询没有伪表概念,对于表达式的计算直接用select既可,例如 Select 23+45 -- 返回68 Select date() -- 返回当前日期 3、修改查询语句 ?方法:点击右键—弹出菜单—表格—编辑查询 通过修改SQL语句可以变更所取的数据,也可以将建立查询时的简单SQL语句改成复杂的SQL语句。 ?字段名更换:如果想换个字段名,用“as 新字段名”既可,例如: select prov_name as 省, city_name as 城市, xs_mc as 县市, xs_code as 编码from [Sheet1$]?非正常表格:数据区域(含字段名)不在第一行 需要在工作表名称后面指定数据范围,例如: select prov_name, city_name, xs_mc, xs_code from [Sheet1$B2:G2000] 或者,将数据块定义为一个名称,假设定义为mydata,SQL语句如下: select prov_name, city_name, xs_mc, xs_code from mydata 注意:使用名称时没有$符号,也没有方括号了。 ?数据更新:数据源发生变化,需要更新数据,方法:点击右键—弹出菜单—刷新 ?意外:如果打开Excel文件后弹出不是选择工作表的窗口而是一个“数据连接属性”窗口,可以关闭这个窗口,然后将Excel应用极小化再极大化方式消除,或者在弹出选择文件的窗口时,退回上一级文件夹,删除那个Queries文件夹,就行了。

excel中读取数据并且保存到数据库中

1、添加POI jar包到项目的lib目录下- 2、Excel文件目录:d://excel.xls- 3、数据库字段为:num1 num2 num3 num4 num5 num6- 4、数据库名:blog- 5、表名:test- 6、编写类:连接mysql的字符串方法、插入的方法、实体类 import java.io.FileInputStream; import java.io.FileNotFoundException;- import java.io.IOException;- import https://www.wendangku.net/doc/f33880770.html,mons.logging.Log;- import https://www.wendangku.net/doc/f33880770.html,mons.logging.LogFactory;- import https://www.wendangku.net/doc/f33880770.html,ermodel.HSSFCell;- import https://www.wendangku.net/doc/f33880770.html,ermodel.HSSFRow;- import https://www.wendangku.net/doc/f33880770.html,ermodel.HSSFSheet;- import https://www.wendangku.net/doc/f33880770.html,ermodel.HSSFWorkbook;- public class TestExcel {- //记录类的输出信息- static Log log = LogFactory.getLog(TestExcel.class); - //获取Excel文档的路径- public static String filePath = "D://excel.xls";- public static void main(String[] args) {- try {- // 创建对Excel工作簿文件的引用- HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));- // 在Excel文档中,第一张工作表的缺省索引是0 // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);- HSSFSheet sheet = wookbook.getSheet("Sheet1");- //获取到Excel文件中的所有行数- int rows = sheet.getPhysicalNumberOfRows(); //遍历行- for (int i = 0; i < rows; i++) {- // 读取左上端单元格- HSSFRow row = sheet.getRow(i);- // 行不为空- if (row != null) {- //获取到Excel文件中的所有的列- int cells = row.getPhysicalNumberOfCells();- String value = ""; - //遍历列- for (int j = 0; j < cells; j++) {-

EXCEL中数据库函数的应用

EXCEL中数据库函数的应用武汉新航电脑学校EXCEL作业: 根据上表,利用数据库函数求下列要求:

EXCEL数据库函数介绍 1.DA VERAGE 参数:返回数据库或数据清单中满足指定条件的列中数值的平均值。 语法:DA VERAGE(database,field,criteria) 参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria 为一组包含给定条件的单元格区域。 2.DCOUNT 参数:返回数据库或数据清单的指定字段中,满足给定条件并且包含数字的单元格数目。 语法:DCOUNT(database,field,criteria) 参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria 为一组包含给定条件的单元格区域。 3.DCOUNTA 参数:返回数据库或数据清单指定字段中满足给定条件的非空单元格数目。 语法:DCOUNTA(database,field,criteria) 参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria 为一组包含给定条件的单元格区域。 4.DGET 参数:从数据清单或数据库中提取符合指定条件的单个值。 语法:DGET(database,field,criteria) 参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria 为一组包含给定条件的单元格区域。 5.DMAX 参数:返回数据清单或数据库的指定列中,满足给定条件单元格中的最大数值。 语法:DMAX(database,field,criteria) 参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria 为一组包含给定条件的单元格区域。 6.DMIN 参数:返回数据清单或数据库的指定列中满足给定条件的单元格中的最小数字。 语法:DMIN(database,field,criteria) 参数:Database构成列表或数据库的单元格区域。Field指定函数所使用的数据列。Criteria 为一组包含给定条件的单元格区域。 7.DPRODUCT 参数:返回数据清单或数据库的指定列中,满足给定条件单元格中数值乘积。 语法:DPRODUCT(database,field,criteria) 参数:同上

相关文档
相关文档 最新文档