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

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

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

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

Workbook workbook = new Workbook()

workbook.LoadFromFile(@"F:\ExportData.xlsx" , ExcelVersion.Version2013)

//获取第一张sheet

Worksheet sheet = workbook.Worksheets[0]

//设置range范围

CellRange range = sheet.Range[sheet.FirstRow, sheet.FirstColumn, sheet.LastRow, sheet.LastColumn]

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

DataTable dt = sheet.ExportDataTable(range, true, true)

代码参考自原文。

在 Excel 中录入好数据以后,可能会有导入数据库的需求,这个时候就需要利用一些技巧导入。接下来是我为大家带来的如何将excel表导入数据库的 方法 ,希望对你有用。

将excel表导入数据库的方法

Excel导入数据库步骤1:对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事。那我们只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可。

Excel导入数据库步骤2:我们对下面数据进行组合,这用到excel中的一个功能。

在excel中有个fx的输入框,在这里把组好的字符串填上去就好了。

注:字符串1 &A2 &字符串2 &...

A2可以直接输入,也可以用鼠标点对应的单元格。

Excel导入数据库步骤3:每个字符串之间用 &符号进行连接。下面是第一条连接字符串

="insert into tavern values('"&A2&"','"&B2&"','"&C2&"','"&D2&"')"

写好后按回车键Enter就能组合出对应的字符串了。

insert into tavern values('jw_agi','曙光','0','1')

Excel导入数据库步骤4:组好第一行的字符串后,把鼠标放到单元格右下方,出现加粗的十字,单击按下(别松开),一直往下拉,直到最后一行再放开就行了。

5这样我们就把insert语句都整理好了,接下来就是大家把这些语句批量执行就可以了。

>>>下一页更多精彩“将EXCEL表格数据导入进CAD中的方法”

简单的方法是通过ODBC来实现:

具体实现

一、 包含Excel文件 *** 作类头文件

#include "CSpreadSheet.h"

二、 新建Excel文件,并写入默认数据

// 新建Excel文件名及路径,TestSheet为内部表名

CSpreadSheet SS("c:\\Test.xls", "TestSheet")

CStringArray sampleArray, testRow

SS.BeginTransaction()

// 加入标题

sampleArray.RemoveAll()

sampleArray.Add("姓名")

sampleArray.Add("年龄")

SS.AddHeaders(sampleArray)

// 加入数据

CString strName[] = {"徐景周","徐志慧","郭徽","牛英俊","朱小鹏"}

CString strAge[] = {"27","23","28","27","26"}

for(int i = 0i <sizeof(strName)/sizeof(CString)i++)

{

sampleArray.RemoveAll()

sampleArray.Add(strName[i])

sampleArray.Add(strAge[i])

SS.AddRow(sampleArray)

}

SS.Commit()

三、 读取Excel文件数据

CSpreadSheet SS("c:\\Test.xls", "TestSheet")

CStringArray Rows, Column

//清空列表框

m_AccessList.ResetContent()

for (int i = 1i <= SS.GetTotalRows()i++)

{

// 读取一行

SS.ReadRow(Rows, i)

CString strContents = ""

for (int j = 1j <= Rows.GetSize()j++)

{

if(j == 1)

strContents = Rows.GetAt(j-1)

else

strContents = strContents + " -->" + Rows.GetAt(j-1)

}

m_AccessList.AddString(strContents)

}


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

原文地址:https://54852.com/sjk/9896218.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存