如何将word中的数据导入到数据库中

如何将word中的数据导入到数据库中,第1张

1、首先,打开媒介工具“记事本”,将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中将txt文件取名为“数据源.txt”。

2/8

2、打开excel表格,点击“数据”选项卡,找到“自文本”。

小朋友语言迟缓2岁至4岁孩子不说话严重吗?

广告

3/8

3、点击“自文本”,d出下一窗口,选择刚才保存的名为“数据源”的txt类型文件,点击“导入”。因“自文本”方式数据导入默认的只有三种文件类型txt、csv、prn,所以需要事先将word转变为txt。

【家长必看】_说话晚的孩子

广告

4/8

4、d出“文本导入向导”对话框。选择最适合的文件类型,方便导入后,数据以已选择方式分列。点击“下一步”。

特别注意,如果选的“分隔符号”,则分隔符号必须是英文状态下的符号,否则导入后无法分列。

两岁小孩说话晚是什么原因?说话晚怎么办?

广告

5/8

5、设置分列数据所包含的分隔符号,其实就是导入数据列数的控制,选择分隔符。

示例文档用“,”把每列隔开的,所以选择“逗号”。

完成设定后,点击下一步。

6/8

6、列数据格式选择”常规“,”常规“选项更为智能。

完成设定后,点击完成。

7/8

7、数据存放位置最好是“现有工作表=$A$1”,指的就是从当前表格的第一行第一列开始放置数据。点击确定。

8/8

8、数据导入完成。

可以进一步编辑,或者是做几个表格的数据比对啦!

在Sql

Server中存储、读写Word文件,需要将指定表字段添加为Image类型,示例表结构为:

1

CREATE

TABLE

CONTRACTS

(

2

ID

VARCHAR

(50),

3

CONTRACT_FILE

IMAGE

4

)

CONTRACT_FILE字段就是要存储Word文件的字段,在存储前,有一个小插曲,你需要将Word文件转换为byte数组,可参考以下代码实现:

1

//将文件转换为byte数组

2

public

static

byte[]

File2Bytes(string

fileName)

3

{

4

FileStream

fs

=

new

FileStream(fileName,FileMode.OpenOrCreate,

FileAccess.Read)

5

byte[]

fileDatas

=

new

byte[fs.Length]

6

fs.Read(fileDatas,

0,

System.Convert.ToInt32(fs.Length))

7

fs.Close()

8

return

fileDatas

9

}

接下来就是将转换后的byte[]数组存储到SqlServer的对应字段中,具体实现代码可看如下代码段:

01

//将文件存储到数据库

02

public

bool

UpdateContractFile(string

id,

byte[]

fileBytes)

03

{

04

string

sql

=

"UPDATE

CONTRACTS

SET

CONTRACT_FILE=@CONTRACT_FILE

WHERE

ID=@ID"

05

using

(SqlConnection

conn

=

new

SqlConnection(this.m_DataAccess.ConnectString))

06

{

07

conn.Open()

08

using

(SqlCommand

cmd

=

new

SqlCommand())

09

{

10

cmd.Connection

=

conn

11

cmd.CommandText

=

sql

12

cmd.Parameters.Clear()

13

cmd.Parameters.Add(new

SqlParameter("@CONTRACT_FILE",

SqlDbType.Image))

14

cmd.Parameters["@CONTRACT_FILE"].Value

=

fileBytes

15

cmd.Parameters.Add(new

SqlParameter("@ID",

SqlDbType.VarChar))

16

cmd.Parameters["@ID"].Value

=

id

17

return

cmd.ExecuteNonQuery()

>

0

?

true

:

false

18

}

19

}

20

}

同时,因之前转换了数据类型,所以从数据库中读取Word文件时,要先将Image类型的字段转换为bytes[],代码如下:

01

//通过ID获取文件byte数组

02

public

byte[]

GetContractFile(string

id)

03

{

04

string

sql

=

"SELECT

CONTRACT_FILE

FROM

CONTRACTS

WHERE

ID='{0}'"

05

sql

=

string.Format(sql,

id)

06

object

contractFile

07

contractFile

=

this.m_DataAccess.ExecuteScalar(sql)

08

if

(contractFile

==

null)

09

{

10

return

new

byte[0]

11

}

12

else

13

{

14

return

(byte[])contractFile

15

}

16

}

在获取到文件的byte[]后,将该文件再通过文件流存储为Word文件,以下代码可实现此功能:

01

//将byte[]数组存储为Word文件

02

byte[]

fileBytes

=

this.m_ContractsBusiness.GetContractFile(id)

03

if

(fileBytes.Length

==

0)

04

{

05

XMessageBox.ShowError("未找到合同文件!")

06

return

07

}

08

SaveFileDialog

sfd

=

new

SaveFileDialog()

09

sfd.Filter

=

"Word文件(*.doc)|*.doc"

10

if

(sfd.ShowDialog()

==

System.Windows.Forms.DialogResult.OK)

11

{

12

try

13

{

14

string

saveFileName

=

sfd.FileName

15

int

arraysize

=

new

int()

16

arraysize

=

fileBytes.GetUpperBound(0)

17

FileStream

fs

=

new

FileStream(saveFileName,

FileMode.OpenOrCreate,

FileAccess.Write)

18

fs.Write(fileBytes,

0,

arraysize)

19

fs.Close()

20

if

(XMessageBox.ShowQuestion("文件存储成功,是否立即打开文件?")

==

21

System.Windows.Forms.DialogResult.Yes)

22

{

23

Process.Start(saveFileName)

24

}

25

}

26

catch

(Exception

ex)

27

{

28

XMessageBox.ShowError(" *** 作失败!")

29

}

上面的几段代码只是核心代码,并不是完整的代码段,用时候要看清,自己再修改下。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存