C#Excel导入多条数据到数据库,如何快速导入?

C#Excel导入多条数据到数据库,如何快速导入?,第1张

public static DataSet GetDataSet(string FilePath)

{

string OledbConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0Data Source='" + FilePath + "'Extended Properties='Excel 8.0HDR=YesIMEX=1'")

OleDbConnection conn = new OleDbConnection(OledbConnectionString)

ArrayList SheetNameList = new ArrayList()

try

{

if (conn.State == ConnectionState.Closed)

{

conn.Open()

}

DataTable dtExcelSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" })

string SheetName = ""

for (int i = 0i <dtExcelSchema.Rows.Counti++)

{

SheetName = dtExcelSchema.Rows[i]["TABLE_NAME"].ToString()

SheetNameList.Add(SheetName)

}

}

catch (Exception ex)

{

throw ex

}

finally

{

conn.Close()

}

DataSet dsExcel = new DataSet()       try

{

string strSql = ""           for (int i = 0i <SheetNameList.Counti++)

{

strSql = "select * from [" + (string)SheetNameList[i] + "]"

OleDbDataAdapter oleExcelDataAdapter = new OleDbDataAdapter(strSql, conn)

DataTable dtExcel = new DataTable((string)SheetNameList[i])

oleExcelDataAdapter.Fill(dtExcel)

dsExcel.Tables.Add(dtExcel)

}

return dsExcel

}

catch (Exception ex)

{

throw ex

}

}这个方法就是从EXCEL文件读取数据转换为DataSet 下面一段时调用的时候要注意的,写要在服务器端保存一下上传的EXCEL,然后再调用        string filePath = ""

DataSet ds = new DataSet()

if (System.IO.Path.GetExtension(FileUpload1.FileName) != ".xls")

{

ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alter('hao')</script>")

return

}

else

{

filePath = "D:\\" + FileUpload1.FileName

FileUpload1.SaveAs(filePath)

string fileName = FileUpload1.FileName

int start = fileName.IndexOf('.')

fileName = fileName.Substring(0, start)

ds = GetDataSet(filePath)

}

只能写个大概的,要写数据到数据库中,先得在数据库中建库,库里建表,表里建字段,然后java里建立数据库连接,用SQL语言写数据到表中的字段\x0d\x0aClass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance()\x0d\x0a//String url="jdbc:microsoft:sqlserver://localhost:1433DatabaseName=数据库名"//7.0、2000\x0d\x0aString url="jdbc:sqlserver://localhost:1433DatabaseName=数据库名"//2005\x0d\x0aConnection conn=null\x0d\x0aconn= DriverManager.getConnection(url,用户名,密码)\x0d\x0aPreparedStatement pst=null\x0d\x0apst=conn.prepareStatement("Insert Into grade(表名) Values (?)")\x0d\x0apst.setInt(1,你要写的整弄数据)\x0d\x0a//pst.setString(2,你要写的字符串数据)\x0d\x0apst.addBatch()\x0d\x0apst.executeBatch()

在一些数据量比较大,而且 *** 作数据库频繁的。此时需要将数据表datatable整块的存入数据库中。

首先得新建一个数据库

DataTable once_rec_date = new DataTable()

这个数据库得跟目标数据库的列的位置和大小都得一样。特别是类型,和位置。就是列的位置和目标数据库的位置,顺序得 一模一样。因为都是块存储,所以地址什么的都得一样,千万不能少一列,自增列可以空在那边。

扩展资料

数据库入门基础知识:

数据库的分类

关系型数据库: 经过数学理论验证 可以保存现实生活中的各种关系数据, 数据库中存储数据以表为单位;非关系型数据库:通常用来解决某些特定的需求如:数据缓存,高并发访问。 存储数据的形式有多种,举例:Redis数据库:通过键值对的形式存储数据。

创建数据库:CREATE DATABASE database_name

删除数据库:DROP DATABASE database_name

选择数据库:USE database_name

创建数据表:CREATE TABLE table_name (column_name column_type)

删除数据表:DROP TABLE table_name

更新数据表信息:

添加表字段:ALTER TABLE table_name ADD new_column DATATYPE

使用FIRST关键字可以将新增列的顺序调整至数据表的第一列:ALTER TABLE table_name ADD new_column DATATYPE FIRST

使用AFTER关键字可以将新增列调整至数据表的指定列之后:ALTER TABLE table_name ADD new_column DATATYPE AFTER old_column


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存