把excel文件保存在里。又可以把原回原的excel文件。
如。各位忙。。
[解决办法]
最简单的,进行二进制读取和保存~~当数据流来操作,呵呵~~
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================
[解决办法]
上的,作一流理
Dim myStream As Stream
Dim openFileDialog1 As New OpenFileDialog
' Dim ms As New MemoryStream
Dim AryPictureData() As Byte
Dim strDateCode As String
Dim dsTemp01 As DataSet
Dim strFileName, FileName As String
Dim daTemp01 As OleDb.OleDbDataAdapter
Dim rw01 As DataRow
Dim x, y, z As Integer
Dim daTempComm01 As OleDb.OleDbCommandBuilder
openFileDialog1.InitialDirectory = "D:\"
openFileDialog1.Filter = "EXCEL files (*.xsl)|*.xls|JPEG files (*.jpg)|*.jpg|All files (*.*)|*.*"
openFileDialog1.FilterIndex = 2
openFileDialog1.RestoreDirectory = True
If openFileDialog1.ShowDialog() = DialogResult.OK Then
myStream = openFileDialog1.OpenFile()
If Not (myStream Is Nothing) Then
strFileName = openFileDialog1.FileName
FileName = Mid(strFileName, InStrRev(strFileName, "\") + 1)
txtSourceFileName.Text = Mid(strFileName, InStrRev(strFileName, "\") + 1)
' mid(strFileName,InStrRev(strFileName, "\")+1)
' OpenFileDialog dlg = new OpenFileDialog();
'dlg.ShowDialog();
'Console.WriteLine(Path.GetFileName(dlg.FileName)
ReDim AryPictureData(myStream.Length)
myStream.Position = 0
myStream.Read(AryPictureData, 0, System.Convert.ToInt32(myStream.Length))
strDateCode = DateToStr(Now())
dsTemp01 = New DataSet
daTemp01 = New OleDb.OleDbDataAdapter("Select * from [PP_datatest] where [Code] like '" & strDateCode & "%';", connDB)
daTemp01.Fill(dsTemp01, "DataList")
' z = dsTemp01.Tables("DataList").Rows.Count
rw01 = dsTemp01.Tables("DataList").NewRow
rw01("Data") = AryPictureData
rw01("Filename") = FileName
rw01("Code") = strDateCode
dsTemp01.Tables("DataList").Rows.Add(rw01)
daTempComm01 = New OleDb.OleDbCommandBuilder(daTemp01)
daTemp01.Update(dsTemp01, "DataList")
MsgBox("添加成功")
' Insert code to read the stream here.
myStream.Close()
End If
End If
取
Dim myStream As Stream
Dim dsTemp01 As DataSet
Dim daTemp01 As OleDb.OleDbDataAdapter
Dim rw01 As DataRow
Dim x, y, z As Integer
Dim AryData() As Byte
Dim StrFileName As String
' Dim Writefile As New System.io.StreamWriter("D:\12345.txt")
Try
Call DetermineIfDirectoryExists()
dsTemp01 = New DataSet
daTemp01 = New OleDb.OleDbDataAdapter("Select * from [PP_datatest] where [Code]='" & strCode & "';", connDB)
daTemp01.Fill(dsTemp01, "DataList")
z = dsTemp01.Tables("DataList").Rows.Count
rw01 = dsTemp01.Tables("DataList").Rows(0)
AryData = rw01("Data")
StrFileName = rw01("filename")
' Str &= ControlChars.CrLf
Dim str As String
Dim fStream As FileStream
Dim sFileName As String = StrFileName
' sFileName = Application.StartupPath & "\login.log"
fStream = New FileStream("D:\PL_files\" & sFileName, FileMode.Append)
' Dim bWrite() As Byte = System.Text.Encoding.Default.GetBytes(Str)
fStream.Write(AryData, 0, AryData.Length) '用二制入文件
fStream.Flush()
fStream.Close()
fStream = Nothing
' MsgBox("正在打附件,稍等!")
Process.Start("D:\PL_files\" & StrFileName) '打附件
Catch ex As Exception
MsgBox("附件可能不存在,有管理系")
MsgBox(ex.Message)
End Try
[解决办法]
保存Excel到数据库
Dim conn As New OleDbConnection(My.Settings.ConnStr & "d:\database.mdb")
Dim comm As OleDbCommand = conn.CreateCommand
comm.CommandText = "insert into tablename select * from [excel 8.0;HDR=yes;IMEX=1;database="d:\upload.xls].[sheet1$]"
conn.Open()
comm.ExecuteNonQuery()
反过来也是一样