首先我们肯定有一个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文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)