存储过程导入excel
#region 导入订单
protected override string DoExcelData(System.Data.DataTable dt)
{
string data = "";
try
{
if (dt.Rows.Count == 0)
{
return "excel中无数据";
}
#region 接单日期时分取导入报表时间
string mstime = DateTime.Now.ToString("HH:mm");
for (int i = 0; i < dt.Rows.Count; i++)
{
string time = Convert.ToDateTime(dt.Rows[i]["接单日期"].ToString()).ToString("yyyy-MM-dd");
dt.Rows[i]["接单日期"] = time + " " + mstime;
}
#endregion
NameValueCollection cols = new NameValueCollection();
cols.Add("客户名称", "CustomerAbbr");
cols.Add("交货单号/出货单号", "SourceNo");
cols.Add("任务单号", "TaskSourceNo");
cols.Add("线路分类", "LineType");
cols.Add("接单日期", "OrderDt");
cols.Add("发货工厂", "FactoryAbbr");
cols.Add("收货单位", "DealerAbbr");
cols.Add("预开票单位", "TaxpayerName");
cols.Add("出货仓库", "ShipmentHub");
cols.Add("运输方式", "TransType");
cols.Add("货物名称", "CargoName");
cols.Add("品项", "ItemName");
cols.Add("货量", "GW");
cols.Add("数量", "Qty");
//cols.Add("货物分类", "CargoType");
cols.Add("是否中转", "IsTrans");
cols.Add("备注", "Remark");
ChangeDtTitle(dt, cols);
dt.TableName = "data";
using (System.IO.StringWriter writer = new System.IO.StringWriter())
{
dt.WriteXml(writer, false);
data = writer.ToString();
}
data = BaseService<dynamic>.GetScale(new { ActionName = "importDetail", data = data, DeptCode = ImportDeptCode, CreateBy = CurrentUserInfo.UserCode }, "Web_T_Order_sp");
}
catch (Exception e)
{
Exception ex = e;
while (ex.InnerException != null)
ex = ex.InnerException;
data = ex.Message;
}
return data;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@data xml='',
SELECT identity(int,1,1) as RowNo,
t.c.value('CustomerAbbr[1]','varchar(max)') CustomerAbbr,
CAST(NULL as varchar(50) ) as CustomerCode,
ISNULL( t.c.value('SourceNo[1]','varchar(max)'),0) SourceNo,
t.c.value('TaskSourceNo[1]','varchar(max)') TaskSourceNo,
t.c.value('LineType[1]','varchar(max)') LineType,
t.c.value('OrderDt[1]','datetime') OrderDt,
t.c.value('FactoryAbbr[1]','varchar(max)')FactoryAbbr,
t.c.value('IsTrans[1]','varchar(max)')IsTrans,
CAST(NULL AS varchar(50))TransCode,
CAST(NULL as varchar(50) )FactoryCode,
t.c.value('DealerAbbr[1]','varchar(max)')DealerAbbr,
CAST(NULL as varchar(50) )DealerCode,
t.c.value('TaxpayerName[1]','varchar(max)')TaxpayerName,
CAST(NULL as varchar(50) )TaxpayerID,
t.c.value('CargoName[1]','varchar(max)')CargoName,
CAST(NULL as varchar(50) )CargoCode,
t.c.value('ItemName[1]','varchar(max)')ItemName,
CAST(NULL as varchar(50) )ItemCode,
t.c.value('GW[1]','numeric(18,2)')GW,
t.c.value('Qty[1]','numeric(18,2)')Qty,
t.c.value('TransType[1]','varchar(max)')TransType,
t.c.value('ShipmentHub[1]','varchar(max)')ShipmentHub,
t.c.value('Remark[1]','varchar(max)')Remark,
CAST(NULL as varchar(50))DeptCode ,
CAST(NULL as varchar(30))QuotationNo,
CAST(NULL as int) QuotationRowID,
CAST(NULL as varchar(30)) SuccFulCode,
CAST(NULL as varchar(30))LineCode,
CAST(NULL as int) as OrderType,
CAST(NULL as varchar(50))OrderNo,
CAST(NULL AS varchar(50))CustomerTaskNo,
CAST(NULL AS varchar(50))BussessType
INTO #tmpdetailimport
FROM @data.nodes('//DocumentElement/data')t(c)
存储过程导入excel的更多相关文章
- Oracle导入excel数据方法汇总[转]
摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况.目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的 ...
- MySQL批量导入Excel、txt数据
MySQL批量导入Excel.txt数据 我想Excel是当今最大众化的批量数据管理软件了吧,所以我们会经常涉及到将Excel中数据导入到MySQL中的工作.网上有一些关于直接将Excel导入MySQ ...
- 一步步实现ABAP后台导入EXCEL到数据库【3】
在一步步实现ABAP后台导入EXCEL到数据库[2]里,我们已经实现计划后台作业将数据导入数据库的功能.但是,这只是针对一个简单的自定义结构的导入程序.在实践应用中,面对不同的表.不同的导入文件,我们 ...
- 一步步实现ABAP后台导入EXCEL到数据库【1】
在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...
- [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- IE8下导入EXCEL数据传到客户端以附件下载
IE8下导入EXCEL数据传到客户端以附件下载方式出现,而不显示数据,解决方法:以text/html格式返回. HttpResponseMessage message = new HttpRespon ...
- java的poi技术读取和导入Excel
项目结构: http://www.cnblogs.com/hongten/gallery/image/111987.html 用到的Excel文件: http://www.cnblogs.com/h ...
- 报表工具如何实现多次导入Excel
很多人在开发报表的时候会遇到将多张表样相同的excel导入到模板,然后提交至数据库中.但问题是很多情况,在线导入不支持一次性选择多个excel,一次只能选择一个excel,也不能将多个excel中的数 ...
- .NET导入Excel到SQL数据库
在我们开发各类应用型系统,经常会遇到导入导出Excel,为什么会用到他呢?企业或者单位在从无信息化到信息化的一个转变过程.在没有信息化的企业或单位之前,一般都采用Excel来记录相应的数据,做统计计算 ...
随机推荐
- 安装mysql5.7与创建用户和远程登录授权
环境:ubuntu18.04 参考文章:安装并远程登录授权:https://www.cnblogs.com/chancy/p/9444187.html 用户管理:https://www.cnblogs ...
- jqGrid后台交互样例
schoolManageGrid = $("#jqGrid").jqGrid({ url : ctx.path+"/api/school/querySchools&quo ...
- MicroPython的开发板
比如: pyboard micro:bit ESP8266/ESP32 stm32等等 什么是pyboard? pyboard是官方的MicroPython微控制器板,完全支持软件功能.硬件有: ST ...
- 安装elasticsearch 5.x, 6.x 常见问题(坑)的解决
本人在elasticsearch 5.x, 6.x 安装过程中遇到了一些问题: 警告提示 [2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] una ...
- PID控制器开发笔记之九:基于前馈补偿的PID控制器的实现
对于一般的时滞系统来说,设定值的变动会产生较大的滞后才能反映在被控变量上,从而产生合理的调节.而前馈控制系统是根据扰动或给定值的变化按补偿原理来工作的控制系统,其特点是当扰动产生后,被控变量还未变化以 ...
- Confluence 6 升级你的许可证
如果你修改了你的许可证(例如为你的许可证增加了更多的用户),或者从 Cloud 中整合到你本地,你需要更新你的许可证. 希望更新你的额许可证: 进入 > 基本配置(General Config ...
- 后RCNN时代的物体检测及实例分割进展
https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650736740&idx=3&sn=cdce446703e69b ...
- Java中Super和final关键字以及异常类
1.final类不能有子类,也就谈不上继承的说法,如果用final修饰成员变量或者局部变量,那成了常量需要制定常量的值. 2.对象的上转型对象,上转型对象不能操作子类新增的成员变量,不能调用子类新增的 ...
- Software tips
1.Microsoft office professional plus 2013秘钥 PD3W7-NVGG7-YKGQX-7CRDG-J2MG7(test success)MTGRC-8BM6H-W ...
- uva11916 bsgs算法逆元模板,求逆元,组合计数
其实思维难度不是很大,但是各种处理很麻烦,公式推导到最后就是一个bsgs算法解方程 /* 要给M行N列的网格染色,其中有B个不用染色,其他每个格子涂一种颜色,同一列上下两个格子不能染相同的颜色 涂色方 ...