网站字体大小合适,新余网站开发,做网站被网警找,海口免费做网站关于Excel导入到sql操作的相关问题总结#xff1a; 一、大批量数据导入 方法1、从Excel大批量数据导入时我们可以使用sql里面有一个batch copy的功能 方法2、在sql中建一个table type结构#xff0c;在前端将excel读到datatable中#xff0c;把整个datatable作为存储过程参数…关于Excel导入到sql操作的相关问题总结 一、大批量数据导入 方法1、从Excel大批量数据导入时我们可以使用sql里面有一个batch copy的功能 方法2、在sql中建一个table type结构在前端将excel读到datatable中把整个datatable作为存储过程参数传到后台数据库。 举例 c# public void Import(DataTable dt){SqlParameter[] parms new SqlParameter[] { new SqlParameter(DataTable,SqlDbType.Structured)};parms[0].Value dt;SQLHelper.ExecuteNonQueryStoredProcedure(ConnString, ImportExcel, parms);}SQL: --创建table typeCREATE TYPE [dbo].[DataTable_TYPE] AS TABLE(
[NO] [varchar](20) NULL,[Dept] [varchar](20) NULL,[EmployeeNO] [decimal](18,2) NULL,[EmployeeName] [nvarchar](50) NULL,[JoinDate] [datetime] NULL,[TotalScore] [decimal](18, 2) NULL,[JobQty] [int] NULL,[JobI] [decimal](18, 2) NULL,[JobJ] [decimal](18, 2) NULL,[JobK] [decimal](18, 2) NULL,[JobL] [decimal](18, 2) NULL,[JobM] [decimal](18, 2) NULL,[JobN] [decimal](18, 2) NULL,[JobO] [decimal](18, 2) NULL
)--导入数据存储过程create proc ImportExcelDataTable DataTable_TYPE readonlyasbegin insert into XXtable select ...... from DataTableend 注意在导入excel数据时很多时候将excel读到datatable的时候excel里的数值列会变成科学计数法这时请将对应的表或table type的列的类型设为decimal即可。 也有说在数据库select的时候直接用cast(cast(abc as float) as decimal(xxx,xx)) 但这好像会有一个问题就是四舍五入的问题比如 10056390 科学计数法为 1.00564e007 转换后会变成 10056400 转载于:https://www.cnblogs.com/Alenliu/p/4226115.html