CMFly.Web.Operation.dll 我们用vs2005这个版本生成出来
首先先是搞代码,包的调用以后再说可以看一下 Namespace WanH Public Class RQHandle Inherits System.Web.UI.Page '==================声明开始================== '以下代码在各个页面中统一调用,请不要修改 Private mo_Logon As TAppLogon = Nothing '登陆对象 '==================声明结束==================
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
'注意: 以下占位符声明是 Web 窗体设计器所必需的。 '不要删除或移动它。 Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的 '不要使用代码编辑器修改它。 InitializeComponent() End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load '以下代码在各个页面中统一调用,请不要修改 On Error GoTo l_Err '该函数参数为本窗口对象 mo_Logon = New TAppLogon(Me,"",TAppLogon.enumAppLogonFlag.LogonOnModuleAdmin,True,TAppLogon.enumRecordType.NotRecordLog,"") '==================声明结束==================
'在此处放置初始化页的用户代码 Dim lo_XML As New System.Xml.XmlDocument,ls_Result As String lo_XML.Load(Request.InputStream) Select Case lo_XML.DocumentElement.GetAttribute("Handle") Case "ExcelInRQG0050" '钢板信息 ls_Result = ExcelInRQG0050(lo_XML.DocumentElement) Case "ExcelInRQG0060" '焊缝信息 ls_Result = ExcelInRQG0060(lo_XML.DocumentElement) End Select '记录日志 mo_Logon.Logon.SysError.RecordLog(TypeName(Me),"Handle:" & lo_XML.DocumentElement.GetAttribute("Handle")) lo_XML = Nothing
'==================声明开始================== '以下代码在各个页面中统一调用,请不要修改 mo_Logon.ClearUp() mo_Logon = Nothing
Response.Write(ls_Result) Return l_Err: If mo_Logon Is Nothing Then mo_Logon = New TAppLogon(Me,CShort(0)) mo_Logon.ErrorMsgToWeb(Err.Number,Err.Description,TypeName(Me) & "::Page_Load() Event") mo_Logon = Nothing '==================声明结束==================
End Sub '执行时间很长的大行的SQL语句的时候调用,比如存储过程 Private Function UpdateBigDate(ByVal ao_Node As System.Xml.XmlElement) As String On Error GoTo ls_err Dim ls_Sql As String = ao_Node.GetAttribute("ls_Sql") Dim ls_Connet As String = ao_Node.GetAttribute("ls_Connet") Dim lo_SqlHandle As TSqlHandle Dim lo_SqlComm As New SqlClient.SqlCommand
If ls_Connet = "" Then lo_SqlHandle = mo_Logon.Logon.AppSqlHandle Else lo_SqlHandle = mo_Logon.Logon.GetOtherSqlHandle(ls_Connet) End If
lo_SqlComm.CommandTimeout = 1000 lo_SqlComm.Connection = lo_SqlHandle.Connection lo_SqlComm.CommandText = ls_Sql lo_SqlComm.ExecuteNonQuery()
lo_SqlComm.Dispose() lo_SqlComm = Nothing Return "<Root Value=""1"" ResultValue=""成功"" />" ls_err: lo_SqlComm.Dispose() lo_SqlComm = Nothing Return "<Root Value=""0"" ResultValue=""失败,请与管理员联系"" />" End Function
'钢板信息导入 Private Function ExcelInRQG0050(ByVal ao_Node As System.Xml.XmlElement) As String On Error GoTo ls_err '基础定义 Dim ls_Sql As String,lo_SqlHandle As TSqlHandle Dim ls_File As String = mo_Logon.Logon.GetParameterValue("NET_TEMP_DATA_PATH") & ao_Node.GetAttribute("ExcelFile") Dim lo_Excel As New Excel.Application Dim lo_Workbook As Excel.Workbook = lo_Excel.Workbooks.Open(ls_File) Dim lo_sheet As Excel.Worksheet = lo_Workbook.Sheets(1) lo_SqlHandle = mo_Logon.Logon.GetOtherSqlHandle("CQG_DATACOLL")
'需求定义 Dim ls_TypeID As Integer,ls_PBNum As String,ls_MBNum As String,ls_MBLNum As String,ls_Len As Double,ls_WI As Double,ls_Hou As Double Dim ls_FJBack As String,ls_CreateUserID As Integer,ls_CreateUserName As String,ls_CreateDate As DateTime Dim ls_ParentID As Integer,ls_IsCheck As String,ls_JLRemake As String Dim ls_QualityInspector As String,ls_YZRemake As String
Dim ls_Num As Integer,ls_Sql1 As String,ls_Num01 As Integer,ls_Value01 As String,ls_PID As String ls_ParentID = ao_Node.GetAttribute("ParentID")
If lo_sheet.Cells(2,1).value = "钢板编号" And lo_sheet.Cells(2,2).value = "钢板位置" And lo_sheet.Cells(2,3).value = "母板炉批号" And lo_sheet.Cells(2,4).value = "母板编号" And lo_sheet.Cells(2,5).value = "长" And lo_sheet.Cells(2,6).value = "宽" And lo_sheet.Cells(2,7).value = "板厚" And lo_sheet.Cells(2,8).value = "复检记录" Then ls_PID = "1" '随机查看是否为正确模板 If ls_PID <> "1" Then Call ExitExcelIn(lo_Excel,lo_Workbook,lo_sheet,ls_File) Return "<Root Value=""0"" ResultValue=""导入失败,请确认导入模板,谢谢!"" />" Exit Function End If
'这里就是导入了 ls_Num = 0 For i As Integer = 3 To lo_sheet.Rows.Count If IsDBNull(lo_sheet.Cells(i,1).value) Or CStr(lo_sheet.Cells(i,1).value) = "" Then '============出现空的============= ls_Num = ls_Num + 1 If ls_Num > 2 Then Exit For End If Else '列值 '钢板编号不为空 If CStr(lo_sheet.Cells(i,1).value) = "" Then Call gcExcel(lo_Excel,lo_sheet) Return "<Root Value=""0"" ResultValue=""导入第" & i & "行时失败,钢板编号不能为空!"" />" Exit Function Else ls_PBNum = CStr(lo_sheet.Cells(i,1).value) End If '钢板位置不为空 If CStr(lo_sheet.Cells(i,2).value) = "" Then Call gcExcel(lo_Excel,钢板位置不能为空!"" />" Exit Function Else Select Case Replace(Replace(lo_sheet.Cells(i,2).value," ","")," ","") Case "外罐底板" ls_TypeID = 1 Case "外罐壁板" ls_TypeID = 2 Case "穹顶" ls_TypeID = 3 Case "内罐底板" ls_TypeID = 4 Case "内罐壁板" ls_TypeID = 5 Case "内罐浮顶" ls_TypeID = 6 End Select End If ls_MBNum = CStr(lo_sheet.Cells(i,3).value) ls_MBLNum = CStr(lo_sheet.Cells(i,4).value) ls_Len = CStr(lo_sheet.Cells(i,5).value) ls_WI = CStr(lo_sheet.Cells(i,6).value) ls_Hou = CStr(lo_sheet.Cells(i,7).value) ls_FJBack = CStr(lo_sheet.Cells(i,8).value) ls_CreateUserID = mo_Logon.Logon.UserID ls_CreateUserName = mo_Logon.Logon.UserName ls_IsCheck = ""
ls_JLRemake = " " ls_QualityInspector = " " ls_YZRemake = " " '数据重复 ls_Sql1 = "Select Count(*) from G0050 where PBNum ='" & ls_PBNum & "' and TypeID = " & ls_TypeID & "" ls_Num01 = lo_SqlHandle.GetValueBySql(ls_Sql1) If ls_Num01 > 0 Then ls_Value01 = ls_Value01 & "---第" & i & "行数据重复,请检查" & Chr(13) + Chr(10) Return "<Root Value=""1"" ResultValue=""导入失败" & ls_Value01 & """ />" Exit Function End If '开始插入 ls_Sql = "INSERT INTO G0050 (PBNum,TypeID,MBNum,MBLNum,Len,WI,Hou,FJBack,IsCheck,JLRemake,QualityInspector,YZRemake,ParentID,CreateUserID,CreateUserName,CreateDate) values (" ls_Sql = ls_Sql & "'" & ls_PBNum & "'," & ls_TypeID & ",'" & ls_MBNum & "','" & ls_MBLNum & "'," & ls_Len & "," & ls_WI & "," & ls_Hou & ",'" & ls_FJBack & "','" & ls_IsCheck & "','" & ls_JLRemake & "','" & ls_QualityInspector & "','" & ls_YZRemake & "','" & ls_ParentID & "','" & ls_CreateUserID & "','" & ls_CreateUserName & "'," & "GetDate())" Call lo_SqlHandle.UpdateSql(ls_Sql)
'sql调试的时候拷贝出来检查他的准确性 End If Next
'退出Excel,并且释放调用的COM资源 lo_Excel.DisplayAlerts = False lo_Workbook.Save() lo_Excel.DisplayAlerts = True lo_Workbook.Close() lo_Excel.Quit() ReleaseComObject(lo_sheet) ReleaseComObject(lo_Workbook) ReleaseComObject(lo_Excel) lo_Excel = Nothing : lo_Workbook = Nothing : lo_sheet = Nothing '删除上传的Excel Call System.IO.File.Delete(ls_File) System.GC.Collect() Return "<Root Value=""1"" ResultValue=""导入成功"" />" ls_err: lo_Excel.DisplayAlerts = False lo_Workbook.Save() lo_Excel.DisplayAlerts = True lo_Workbook.Close() lo_Excel.Quit() ReleaseComObject(lo_sheet) ReleaseComObject(lo_Workbook) ReleaseComObject(lo_Excel) lo_Excel = Nothing : lo_Workbook = Nothing : lo_sheet = Nothing '删除上传的Excel Call System.IO.File.Delete(ls_File) System.GC.Collect()
Return "<Root Value=""0"" ResultValue=err.Description />" End Function
' 当然最重要的是excel的那些东西,不经常接触,比较陌生
'退出Excel,并且释放调用的COM资源 Private Function ExitExcelIn(ByVal lo_Excel As Excel.Application,ByVal lo_Workbook As Excel.Workbook,ByVal lo_sheet As Excel.Worksheet,ByVal ls_File As String) As String lo_Excel.DisplayAlerts = False lo_Workbook.Save() lo_Excel.DisplayAlerts = True lo_Workbook.Close() lo_Excel.Quit() ReleaseComObject(lo_sheet) ReleaseComObject(lo_Workbook) ReleaseComObject(lo_Excel) lo_Excel = Nothing : lo_Workbook = Nothing : lo_sheet = Nothing '删除上传的Excel Call System.IO.File.Delete(ls_File) System.GC.Collect() End Function
其实东西就是这些了
附件是代码
这个东西就这样了,不要深究 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|