如何用C#将Excel表中数据导入数据库

如何用C#将Excel表中数据导入数据库,第1张

可用第三方来导数据,参考spirexls for net的数据导入方法:

//创建Workbook对象并加载Excel文档

Workbook workbook = new Workbook();

workbookLoadFromFile(@"F:\ExportDataxlsx" , ExcelVersionVersion2013);

//获取第一张sheet

Worksheet sheet = workbookWorksheets[0];

//设置range范围

CellRange range = sheetRange[sheetFirstRow, sheetFirstColumn, sheetLastRow, sheetLastColumn];

//输出数据, 同时输出列名以及公式值

DataTable dt = sheetExportDataTable(range, true, true);

代码参考自原文。

选中sql

server2005中的数据库,点击鼠标右键,选择任务,然后选择导入数据,然后点击下一步,然后在数据源中选择microsoft

excel,然后选择你要导入的excel的路径,excel版本请选择最高,在这里需要说的是,如果你的excel文件是2007的或者2010的,请你使用office将其存为2003的excel文件,也就是说,需要将xlsx文件存储为xls,然后点击下一步,然后选择你要导进的地址,也就是ip,如果是导入到本机就填

号,然后选择你要导进的数据库就好了,一步一步来,有提示的

希望我的回答对你会有帮助,如果以上回答没有解决你的问题,请追问详述,当然也可以直接

hi

我,我百度随时在线,解决问题后望即时采纳,谢谢!

我也常做数据库设计,恕我直言,你设计的这张报表输出结构不太合理。你想,一年365天光数据列就要365列,报表太宽无法打印不说,明细也根本看不过来,查询起来也会非常慢,因为需要进行日期的行列转换。

所以最好是把你说的内容分成两张报表。

一张专门查询商品的汇总销售和计算增长率,格式为 货号、汇总销售数量、各种增长率 等等,可按货号,开始日期、结束日期设定查询条件。

一张专门查询商品的销售明细,格式为 货号、日期、销售数量 三列,可按货号、日期设定查询条件。

这样日常查查汇总销售的报表基本就可以了,如果对某种商品的数据感兴趣或有疑问,再对应来查明细的报表。

其实有两种方法,第一种是不用作任何程序直接在sql2005中就能手动将execl导入。自己去看软件,摸索下就行了,很简单!

当然另外一种是在程序中进行,

--如果接受数据导入的表已经存在

insert into 表 select from

OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:\dataxlsx',sheet1$)

--如果导入数据并生成表

select into 表 from

OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:\dataxlsx',sheet1$)

这里以SQL SERVE2008为例。SQLSERVER2008有一个“数据导入导出功能”,当然我们也可以打开数据库之后,在数据库上点击右键,然后选择“任务”,选择“导入数据”,我们就看到d出淡入数据的对话框:

这里我们主要导入数据的源格式是EXCEL的,在excel文件中,我们通常需要整理成数据表格的形式,excel中的数据不要出现合并的单元格等,必须是和数据库表对应的一条条记录的形式。在上图中我们先选择数据源为excel,然后再选择excel文件的路径,在最下面有一个“首行包含列名称”的复选项,默认是选中的,也就是说在导入数据的时候会把excel的第一行当做数据库表的列名称,根据需要进行选择。然后选择下一步:

上图中我们主要完成选择目的数据库,按照需要选择即可。然后我们直接点击下一步,指导出现下面的画面:

这就会打开excel文件的工作薄,我们选择一个工作簿(sheet),如果我们的excel中的数据列和数据库表中的列不是对应,则需要进行调整,上图中先选中一个“源”,然后再选择这个源对应的“目标”,此时按钮“编辑映射”处于可用状态,我们点击这个按钮,出现下图:

一使用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运行

一、 建立数据库

方法一:使用向导,调出方法⑴可采用“文件”菜单“新建”

⑵或采用“工具”菜单“向导”

方法二:使用数据库设计器

1、 使用向导建立数据库

特点:可以方便快捷地创建数据库,但只适用于一般常用的数据库。

2、 使用数据库设计器建立数据库

特点: 最大特点就是灵活性

*** 作步骤:⑴“文件”菜单“新建”,显示新建对话框

⑵选择“数据库”和单击“新建文件”钮

⑶在创建对话框中输入新数据库的名称和单击“保存”钮

效果:数据库文件已经建立完成。

显示出“数据库设计器”窗口和“数据库设计工具”

打开“数据库设计器”工具方法:“显示”菜单“工具栏”

选择“数据库设计器”

三、建立表

1、 数据库与数据表

可以先建立自由表,然后再添加到数据库中

建立新的数据库表,系统会将其自动加入到数据库中。

2、 建立自由表

注意:自由表独立于任何数据库,如需要课添加到数据库中,但不能同时

将一个表添加到多个数据库。

预备知识:建立表必须首先建立表的结构

即要描述各个字段的字段名、字段类型、字段宽度、如果是数

值型还有小数位数,以及索引、是否再字段中允许空值(选择NULL)

3、 建立数据库表

有三种方法:

法一、“文件”菜单“新建”,显示新建对话框

选择“表”和单击“新建文件”钮

在创建对话框中输入新数表名称和单击“保存”钮

法二、再建立完数据库后,不关闭“数据库设计器”窗口,单击鼠标右键后

选择快捷菜单种的“新表”,单击“新表”钮,再创建对话框输入表 名

后“保存”

法三、使用数据库设计器工具栏

(“显示”菜单“工具栏”)

选择“数据库设计器”工具栏种的第一个钮“新建表”

二、使用命令建立数据库、数据库表

1、 建立数据库

CREATE DATABASE 数据库名称

2、 建立数据库表

CREATE TABLE │DBF 表名 [FREE]

(字段名1 字段类型 [(字段宽度 [,小数位数] )]

[(字段名2……]

二、使用向导建立查询

1、查询形式分类:查询向导:标准查询

交叉表向导:以电子表格形式输出查询结果

图形向导:以电子图形形式输出查询结果

2、使用查询向导建立查询步骤:

[0]使用查询向导前必须先打开用到的库表或自由表

⑴字段选取

⑵记录筛选

⑶选择排序方式

⑷查询完成(选择保存并运行)(浏览查询)

⑸打开查询设计器,修改查询

求采纳为满意回答。

以下面的做法为例,说明导入步骤:

oracle数据库有一个student表,现有一个excel表:studentxlsx,需导入oracle数据库student表中。

student表的拥有者是system,system密码为test

打开需导入的excel表格,单击office按钮,选择另存为--其他格式

选择保存路径(置于D:\),保存类型CSV(逗号分隔)(csv),设置文件名为studentcsv,单击保存

新建inputctl文件(置于D:\),内容为:

load data

infile 'd:\studentcsv'

append into table student fields terminated by ','

trailing nullcols(id,name,sex,age)

说明:infile后面参数为欲导入的excel表(已转换成csv格式)路径及名称;append在表后追加;table后面跟oracle数据库中的表名称; terminated by ','表示字段分隔符;(id,name,sex,age)表示字段名称列表

同时按Windows徽标键和R键,打开运行,输入cmd,打开命令提示符,输入命令:

sqlldr userid=system/test@netservicename control=d:\inputctl

说明:system/test,为oracle数据库表student的所有者及其密码;

@ netservicename为网络服务名;

control是inputctl文件名称及路径

进入oracle数据库,查询student表,excel已导入成功

以上就是关于如何用C#将Excel表中数据导入数据库全部的内容,包括:如何用C#将Excel表中数据导入数据库、EXCEL导入到数据库、如何把 .XLSx格式的表格中的数据导入到 SQL SERVER 2008数据库中的一个表里面,求具体步骤,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存