如何将excel表导入数据库的方法

如何将excel表导入数据库的方法,第1张

首先我们肯定有一个excel的文件,文件中有大量的数据,每一列代表着不同的字段。

我们首先建立一个数据库,然后在库中建立表,表的每个字段对应excel中的每一列。

一、假如excel中有四列数据,希望导入到数据库中

mytable

中,对应的字段分别为field1,field2,field3,field4

二、在excel表格中增加一列(excel应该是e列),利用excel的公式自动生成sql语句(这个很重要,别写错了),具体方法

如下:

1、增加一列(excel应该是e列,因为我们原有4列数据,分别为a\b\c\d列)

2、在第一行(这一行必须为有效数据行否则出错)的e列,就是e1中输入公式=concatenate("insert

into

table

(field1,field2,field3,field4)

values

('",a1,"','",b1,"','",c1,"','",d1,"');")

3、此时e1已经生成如下的sql语句:

insert

into

mytable

(field1,field2,field3、field4)

values

('a1中

的数据','b1','c1','d1');

4、将e1的公式复制到所有行的e列,(就是用鼠标点住e1单元格的右下角,一直拖拽下去,到最后一行数据)

5、此时e列已经生成了所有的sql语句

6、选中e列把e列数据复制到一个纯文本文件中,命名为

例如:exceltxt

三、把exceltxt

放到数据库中运行即可,可通过命令行导入

source

f:\exceltxt

如果你用的excel 2003及以前的版本,那么以下三个方法:

方法一:将文本资料导入access,在access里面整理后,再分成几个sheet导入excel。

方法二:将文本文档,分成若干个:50000行/个,即可导入excel2003。

方法三:升级为excel2007 或者 2010 ,甚至最新的2013版本,最新版本都可以导入100万行的数据,只是对硬件有要求:CPU 2G以上 及内存2G以上。

具体 *** 作步骤如下:

1、先全选需要导入EXCEL的TXT文件;

2、把选择好的TXT文件添加到压缩文件,注意,设置压缩方式的时候选“存储”;

3、把压缩好的RAR文件扩展名改为TXT(会提示更改扩展名文件不可用,不管它,点确定就好);

4、打开刚刚改了名字的TXT文件,全选里面的内容,然后复制到EXCEL里,再把文件首的乱码删了就完成了。

因为没有导入 *** 作代码,以下代码是起到将文本文件另存为XLS文件代码

代码拷贝入文本文件夹中的一个新建EXCEL文件的模块中,执行之

Sub

FileProcess1()

Dim

FileFind

As

FileSearch

Dim

fs

As

Variant

Dim

FilePath

As

String

Dim

FileStyle

As

String

FilePath

=

ThisWorkbookPath

FileStyle

=

"txt"

With

ApplicationFileSearch

LookIn

=

FilePath

Filename

=

FileStyle

Execute

For

Each

fs

In

FoundFiles

Set

XLSHEET

=

WorkbooksOpen(fs)

XLSHEETSaveAs

Filename:=Replace(fs,

"txt",

"xls")

XLSHEETSave

XLSHEETClose

Next

fs

End

With

End

Sub

1、如下图所示,我们在TXT文本内有一些数据内容,想要把他们转到excel表格中。接下来我们先打开excel表格。

2、在表格上面的菜单工具栏中有一项数据选项,我们点击选择它,在数据选项下有一项是获取外部数据选项卡,如下图所示。

3、在获取外部数据选项卡下,其中就有一项是来自文本选项,我们点击选择,接下来就会蹦出来一个文本路径选择的对话框。

4、在对话框中我们点击选择我们要导入数据的文本,点击右下角的导入按钮,就会蹦出来一个文本导入的一个向导。

5、根据向导对话框指示,我们点击右下角的一个下一步按钮,即分隔符的选择,即数据分割为两个单元格的分隔符。

6、在这里是想要把前面的人名和后面的产品名字分割为两个单元格,故分隔符就选择为文本中显示的即空格,如下图所示,左下角还有一个数据预览,如果没问题就点击下一步。

7、在最后一步中,可以根据你自己的数据来进行数据格式的选择,这个根据实际情况来进行选择 *** 作就可以了,设置完成就点击右下角的完成按钮。

8、最后再选择一下数据放置的位置。完成效果图。

1、添加POI jar包到项目的lib目录下-

2、Excel文件目录:d://excelxls-

3、数据库字段为:num1 num2 num3 num4 num5 num6-

4、数据库名:blog-

5、表名:test-

6、编写类:连接mysql的字符串方法、插入的方法、实体类--

import javaioFileInputStream;-

import javaioFileNotFoundException;-

import javaioIOException;-

import orgapachecommonsloggingLog;-

import orgapachecommonsloggingLogFactory;-

import orgapachepoihssfusermodelHSSFCell;-

import orgapachepoihssfusermodelHSSFRow;-

import orgapachepoihssfusermodelHSSFSheet;-

import orgapachepoihssfusermodelHSSFWorkbook;-

public class TestExcel {-

//记录类的输出信息-

static Log log = LogFactorygetLog(TestExcelclass); -

//获取Excel文档的路径-

public static String filePath = "D://excelxls";-

public static void main(String[] args) {-

try {-

// 创建对Excel工作簿文件的引用-

HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));-

// 在Excel文档中,第一张工作表的缺省索引是0,-

// 其语句为:HSSFSheet sheet = workbookgetSheetAt(0);-

HSSFSheet sheet = wookbookgetSheet("Sheet1");-

//获取到Excel文件中的所有行数-

int rows = sheetgetPhysicalNumberOfRows();-

//遍历行-

for (int i = 0; i < rows; i++) {-

// 读取左上端单元格-

HSSFRow row = sheetgetRow(i);-

// 行不为空-

if (row != null) {-

//获取到Excel文件中的所有的列-

int cells = rowgetPhysicalNumberOfCells();-

String value = ""; -

//遍历列-

for (int j = 0; j < cells; j++) {-

//获取到列的值-

HSSFCell cell = rowgetCell(j);-

if (cell != null) {-

switch (cellgetCellType()) {-

case HSSFCellCELL_TYPE_FORMULA:-

break;-

case HSSFCellCELL_TYPE_NUMERIC:-

value += cellgetNumericCellValue() + ","; -

break; -

case HSSFCellCELL_TYPE_STRING:-

value += cellgetStringCellValue() + ",";-

break;-

default:-

value += "0";-

break;-

}-

} -

}-

// 将数据插入到mysql数据库中-

String[] val = valuesplit(",");-

TestEntity entity = new TestEntity();-

entitysetNum1(val[0]);-

entitysetNum2(val[1]);-

entitysetNum3(val[2]);-

entitysetNum4(val[3]);-

entitysetNum5(val[4]);-

entitysetNum6(val[5]);-

TestMethod method = new TestMethod();-

methodAdd(entity);-

}-

}-

} catch (FileNotFoundException e) {-

eprintStackTrace();-

} catch (IOException e) {-

eprintStackTrace();-

}-

}-

}-

一使用php

excel

parser

pro软件,但是这个软件为收费软件;

二可将excel表保存为csv格式,然后通过phpmyadmin或者sqlyog导入,sqlyog导入的方法为:

·将excel表另存为csv形式;

·打开sqlyog,对要导入的表格右击,点击“导入”-“导入使用加载本地csv数据”;

·在d出的对话框中,点击“改变”,把选择“填写excel友好值”,点击确定;

·在“从文件导入”中选择要导入的csv文件路径,点击“导入”即可导入数据到表上;

三一个比较笨的手工方法,就是先利用excel生成sql语句,然后再到mysql中运行,这种方法适用于excel表格导入到各类sql数据库:

·假设你的表格有a、b、c三列数据,希望导入到你的数据库中表格tablename,对应的字段分别是col一、col二、col三

·在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:

一)增加一列(假设是d列)

二)在第一行的d列,就是d一中输入公式:

=concatenate("insert

into

tablename

(col一,col二,col三)

values

(",a一,",",b一,",",c一,");")

三)此时d一已经生成了如下的sql语句:

insert

into

table

(col一,col二,col三)

values

('a','一一','三三');

四)将d一的公式复制到所有行的d列(就是用鼠标点住d一单元格的右下角一直拖拽下去啦)

5)此时d列已经生成了所有的sql语句

陆)把d列复制到一个纯文本文件中,假设为sqltxt

·把sqltxt放到数据库中运行即可,你可以用命令行导入,也可以用phpadmin运行

以上就是关于如何将excel表导入数据库的方法全部的内容,包括:如何将excel表导入数据库的方法、如何将excel里的数据导入txt文本、如何在excel中一次性导入多个txt文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9833870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存