乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何在excel中创建“数据库”-数据库写入excel,如何将数据自动写入数据库

如何在excel中创建“数据库”-数据库写入excel,如何将数据自动写入数据库

作者:乔山办公网日期:

返回目录:excel表格制作


java 读excel 还是比较方便简单的,原理就是,先用java 读取excel,然后,一行行的写入数据库,字段的话,你自己程序里面写就行了,给你个例子:
从Excel读取数据,生成新的Excel,以及修改Excel
package common.util;

import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.write.*;
import jxl.write.Number;
import jxl.write.Boolean;

import java.io.*;

/**
* Created by IntelliJ IDEA.
* User: xl
* Date: 2005-7-17
* Time: 9:33:22
* To change this template use File | Settings | File Templates.
*/
public class ExcelHandle
{
public ExcelHandle()
{
}

/**
* 读取Excel
*
* @param filePath
*/
public static void readExcel(String filePath)
{
try
{
InputStream is = new FileInputStream(filePath);
Workbook rwb = Workbook.getWorkbook(is);
//Sheet st = rwb.getSheet("0")这里有两种方法获取sheet表,1为名字,而为下标,从0开始
Sheet st = rwb.getSheet("original");
Cell c00 = st.getCell(0,0);
//通用的获取cell值的方式,返回字符串
String strc00 = c00.getContents();
//获得cell具体类型值的方式
if(c00.getType() == CellType.LABEL)
{
LabelCell labelc00 = (LabelCell)c00;
strc00 = labelc00.getString();
}
//输出
System.out.println(strc00);
//关闭
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}

/**
* 输出Excel
*
* @param os
*/
public static void writeExcel(OutputStream os)
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类e69da5e887aae799bee5baa6331WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流

*/
WritableWorkbook wwb = Workbook.createWorkbook(os);
//创建Excel工作表 指定名称和位置
WritableSheet ws = wwb.createSheet("Test Sheet 1",0);

//**************往工作表中添加数据*****************

//1.添加Label对象
Label label = new Label(0,0,"this is a label test");
ws.addCell(label);

//添加带有字型Formatting对象
WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);
WritableCellFormat wcf = new WritableCellFormat(wf);
Label labelcf = new Label(1,0,"this is a label test",wcf);
ws.addCell(labelcf);

//添加带有字体颜色的Formatting对象
WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
Label labelCF = new Label(1,0,"This is a Label Cell",wcfFC);
ws.addCell(labelCF);

//2.添加Number对象
Number labelN = new Number(0,1,3.1415926);
ws.addCell(labelN);

//添加带有formatting的Number对象
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
ws.addCell(labelNF);

//3.添加Boolean对象
Boolean labelB = new jxl.write.Boolean(0,2,false);
ws.addCell(labelB);

//4.添加DateTime对象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());
ws.addCell(labelDT);

//添加带有formatting的DateFormat对象
DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(df);
DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
ws.addCell(labelDTF);

//添加图片对象,jxl只支持png格式图片
File image = new File("f:\\2.png");
WritableImage wimage = new WritableImage(0,1,2,2,image);
ws.addImage(wimage);
//写入工作表
wwb.write();
wwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}

/**
* 拷贝后,进行修改,其中file1为被copy对象,file2为修改后创建的对象
* 尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,
* 以使单元格的内容以不同的形式表现
* @param file1
* @param file2
*/
public static void modifyExcel(File file1,File file2)
{
try
{
Workbook rwb = Workbook.getWorkbook(file1);
WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy
WritableSheet ws = wwb.getSheet(0);
WritableCell wc = ws.getWritableCell(0,0);
//判断单元格的类型,做出相应的转换
if(wc.getType == CellType.LABEL)
{
Label label = (Label)wc;
label.setString("The value has been modified");
}
wwb.write();
wwb.close();
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}

一、 建立数据库
方法一:使用向导,调出方法⑴可采用“文件”菜单“新建”
⑵或采用“工具”菜单“向导”
方法二:使用数据库设计器
1、 使用向导建立数据库
特点:可以方便快捷地创建数据库,但只适用于一般常用的数据库。
2、 使用数据库设计器建立数据库
特点: 最大特点就是灵活性
操作步骤:⑴“文件”菜单“新建”,显示新建对话框
⑵选择“数据库”和单击“新建文件”钮
⑶在创建对话框中输入新数据库的名称和单击“保存”e799bee5baa6e78988e69d83337
效果:数据库文件已经建立完成。
显示出“数据库设计器”窗口和“数据库设计工具”
打开“数据库设计器”工具方法:“显示”菜单“工具栏”
选择“数据库设计器”
三、建立表
1、 数据库与数据表
可以先建立自由表,然后再添加到数据库中
建立新的数据库表,系统会将其自动加入到数据库中。
2、 建立自由表
注意:自由表独立于任何数据库,如需要课添加到数据库中,但不能同时
将一个表添加到多个数据库。
预备知识:建立表必须首先建立表的结构
即要描述各个字段的字段名、字段类型、字段宽度、如果是数
值型还有小数位数,以及索引、是否再字段中允许空值(选择NULL)

3、 建立数据库表
有三种方法:
法一、“文件”菜单“新建”,显示新建对话框
选择“表”和单击“新建文件”钮
在创建对话框中输入新数表名称和单击“保存”钮
法二、再建立完数据库后,不关闭“数据库设计器”窗口,单击鼠标右键后
选择快捷菜单种的“新表”,单击“新表”钮,再创建对话框输入表 名
后“保存”
法三、使用数据库设计器工具栏
(“显示”菜单“工具栏”)
选择“数据库设计器”工具栏种的第一个钮“新建表”

二、使用命令建立数据库、数据库表
1、 建立数据库
CREATE DATABASE 数据库名称
2、 建立数据库表
CREATE TABLE │DBF 表名 [FREE]
(字段名1 字段类型 [(字段宽度 [,小数位数] )]
[(字段名2……]

二、使用向导建立查询
1、查询形式分类:查询向导:标准查询
交叉表向导:以电子表格形式输出查询结果
图形向导:以电子图形形式输出查询结果
2、使用查询向导建立查询步骤:
[0]使用查询向导前必须先打开用到的库表或自由表
⑴字段选取
⑵记录筛选
⑶选择排序方式
⑷查询完成(选择保存并运行)(浏览查询)
⑸打开查询设计器,修改查询
请采纳答案,支持我一下。
'在使用前需要先安装MySql的驱动,进行正确配置
'注意:必须给出正确的服务器名、数据库名、表名、数据库连接e69da5e6ba90e799bee5baa6364的用户名、密码
Option Explicit
Dim Cnn As ADODB.Connection '定义ADO连接对象
Dim Records As ADODB.Recordset '定义ADO记录集对象
'连接到数据库
Function CnnOpen(ByVal ServerName As String, ByVal DBName As String, ByVal TblName As String, ByVal User As String, ByVal PWD As String) '服务器名或IP、数据库名、登录用户、密码
Dim CnnStr As String '定义连接字符串
Set Cnn = CreateObject("ADODB.Connection") '创建ADO连接对象
Cnn.CommandTimeout = 15 '设置超时时间
CnnStr = "DRIVER={MySql ODBC 5.1 Driver};SERVER=" & ServerName & ";Database=" & DBName & ";Uid=" & User & ";Pwd=" & PWD & ";Stmt=set names GBK" '
Cnn.ConnectionString = CnnStr
Cnn.Open
End Function
'关闭连接
Function CnnClose()
If Cnn.State = 1 Then
Cnn.Close
End If
End Function
'把Excel写入MySql中的数据库
Function InsertToMySql(ByVal SheetName As String, ByVal TblName As String)
Dim SqlStr As String
Dim i, j As Integer
Dim Columns, Rows As Integer
Columns = VBAProject.func_public.GetTotalColumns(SheetName)
Rows = VBAProject.func_public.GetTotalRows(SheetName)
Set Records = CreateObject("ADODB.recordset")
'取得结果集并插入数据到数据库
Set Records = CreateObject("ADODB.Recordset")
'以下语句提供了插入思路,我只是把单条记录的插入方式改为循环,以把所有的记录添加到表中
'rs.Open "insert into newtable values('" & ActiveSheet.Cells(i, 1).Value & "'," & "'" & ActiveSheet.Cells(i, 2).Value & "')", cnn, 0
For i = 2 To Rows
SqlStr = "INSERT INTO " & TblName & " values('" & Sheets(SheetName).Cells(i, 1).Value & "'" '注意:" values('",字母“v”之前是有空格的!!!
For j = 2 To Columns
SqlStr = SqlStr & ",'" & Sheets(SheetName).Cells(i, j).Value & "'"
Next
SqlStr = SqlStr & ")"
Set Records = Cnn.Execute(SqlStr) 'rs.Open SqlStr, cnn, 0 不能用这条语句实现!!!
Next
MsgBox "Insert!", vbOKOnly, "Excel To MySql"
End Function
'清除对象
Function ClearObj()
Set Cnn = Nothing
Set Records = Nothing
End Function

首先,需要在excel中添加加载项--数据分析库,然后就可以进行数据自动生成了,以专业的术语叫做“随机数发生器”。依次点击:excel选项-加载项-转到,进行分析工具库的添加工作。

分析工具库添加完成之后,在excel的“数据”选项卡上,最右侧会多出一个“分析”的菜单栏,点击“数据分析”。

选择“数据分析”下的“随机数发生器”。

弹出的界面上,为随机数发生器的参数设置界面。其中,变量个数=生成数据列数、随机数个数=生成数据行数,比如,设置:变量个数=5、随机数个数=10,那么,就会生成一个5列、10行的数据。

接下来,选择随机数据的分布类型,以“正态分布”为例,设定:平均值=50、标准差=5。

选定数据的输出位置,可以选定区域、新建工作表、新建工作簿,本例中以选定区域为例来说情况,如下图,选择将数据输出到:A1:E10区域中。

数据输出成功,如下图所示。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网