有关excel时间存储到sqlserver中的问题

yuetoby 2005-08-11 05:06:16
利用 Microsoft Excel Web Compoment读取Excel数据 在利用ADO.NET存到sqlserver中。在保存EXCEL中的一个时间值时,用VB.Net只能读出浮点型的数值,不能以字符串的形式读出。该单元格的自定义数字格式为“h:mm:ss”,而且不能将EXCEL单元格数字格式改为文本。请问如何读入该单元格的字符串形式的值。
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Snrmnm_sx 2005-08-13
  • 打赏
  • 举报
回复
这是一个把dataset中的数据写入到execl中的例字

Try
Dim Excel123a As New Excel.Application()
Dim i, j, K As Integer
Dim bt, dw0 As String
Dim sucy
Dim dvrow As DataRowView
K = 0
If Me.Label7.Text = "当前操作的是月计划" Then
sucy = tb
bt = "月份计划"
dw0 = "填表单位:" + Trim(Dwmc_Pub)
Else
sucy = Tb1
bt = "日计划"
dw0 = "填表单位:" + Trim(Dwmc_Pub)
End If
If sucy.rows.count <> 0 Then
Else
Exit Sub
End If
Dim workTable As DataTable = New DataTable("hlyk")
Dim workCol As DataColumn
For j = 1 To 9
workTable.Columns.Add("hl" + Trim(Str(j)), Type.GetType("System.String"))
Next
For i = 0 To Tb1.Rows.Count - 1
Dim Row11 As DataRow
Row11 = workTable.NewRow
Row11("hl" + Trim(Str(1))) = sucy.Rows(i)("BZ")
Row11("hl" + Trim(Str(2))) = sucy.Rows(i)("DWMC")
Row11("hl" + Trim(Str(3))) = sucy.Rows(i)("ZMC")
Row11("hl" + Trim(Str(4))) = Format(sucy.Rows(i)("JHSJ1"), "HH:mm") + "-" + Format(sucy.Rows(i)("JHSJ2"), "HH:mm")
Row11("hl" + Trim(Str(5))) = sucy.Rows(i)("SGNR")
Row11("hl" + Trim(Str(6))) = sucy.Rows(i)("TYSB")
Row11("hl" + Trim(Str(7))) = sucy.Rows(i)("SGJB")
Row11("hl" + Trim(Str(8))) = sucy.Rows(i)("YDGB")
Row11("hl" + Trim(Str(9))) = sucy.Rows(i)("PHDW")
workTable.Rows.Add(Row11)
Next
If Tb2.Rows.Count <> 0 Then
For i = 0 To Tb2.Rows.Count - 1
Dim Row11 As DataRow
Row11 = workTable.NewRow
Row11("hl" + Trim(Str(1))) = Tb2.Rows(i)("BZ")
Row11("hl" + Trim(Str(2))) = Tb2.Rows(i)("DWMC")
Row11("hl" + Trim(Str(3))) = Tb2.Rows(i)("ZMC")
Row11("hl" + Trim(Str(4))) = Format(Tb2.Rows(i)("JHSJ1"), "HH:mm") + "-" + Format(Tb2.Rows(i)("JHSJ2"), "HH:mm") + "(" + Tb2.Rows(i)("JH") + ")"
,注意上句中的FORMAT()函数!你可以在MSDN里查到它的例字!这样就可以了
Row11("hl" + Trim(Str(5))) = Tb2.Rows(i)("SGNR")
Row11("hl" + Trim(Str(6))) = Tb2.Rows(i)("TYSB")
Row11("hl" + Trim(Str(7))) = ""
Row11("hl" + Trim(Str(8))) = Tb2.Rows(i)("FZR")
Row11("hl" + Trim(Str(9))) = Tb2.Rows(i)("BZ1")
workTable.Rows.Add(Row11)
Next
End If
workTable.DefaultView.Sort = "hl1"
i = 0
Excel123a.Workbooks.Open("C:\DSINI\EXCEL123a.XLS")
Excel123a.Worksheets("Sheet1").Range("A1").value = Format(RQRQ.Value.AddDays(1), "d日") + "计划"
For Each dvrow In workTable.DefaultView
Excel123a.Worksheets("Sheet1").Range("A" + Trim(Str((i + 5)))).Value = dvrow("hl1")
Excel123a.Worksheets("Sheet1").Range("B" + Trim(Str((i + 5)))).Value = dvrow("hl2")
Excel123a.Worksheets("Sheet1").Range("C" + Trim(Str((i + 5)))).Value = dvrow("hl3")
Excel123a.Worksheets("Sheet1").Range("D" + Trim(Str((i + 5)))).Value = dvrow("hl4")
Excel123a.Worksheets("Sheet1").Range("E" + Trim(Str((i + 5)))).Value = dvrow("hl5")
Excel123a.Worksheets("Sheet1").Range("F" + Trim(Str((i + 5)))).Value = dvrow("hl6")
Excel123a.Worksheets("Sheet1").Range("G" + Trim(Str((i + 5)))).Value = dvrow("hl7")
Excel123a.Worksheets("Sheet1").Range("H" + Trim(Str((i + 5)))).Value = dvrow("hl8")
Excel123a.Worksheets("Sheet1").Range("I" + Trim(Str((i + 5)))).Value = dvrow("hl9")
i = i + 1
Next
Excel123a.Visible = True
Me.Cursor = System.Windows.Forms.Cursors.Default
Catch ex As Exception
Me.Cursor = System.Windows.Forms.Cursors.Default
MsgBox(ex.Message, MsgBoxStyle.Information, "提示")
End Try
End Sub

注意:加了一个workTable是为了实现数据的重新排序!
能从dataset中把数据写入到execl,当然也就能从execl把数据写入到dataset中!
楼主就动一下脑筋!如果还搞不定就说一声!
vickyyu 2005-08-12
  • 打赏
  • 举报
回复
Convert.ToDateTime(...).ToString("yy-MM-dd");
yuetoby 2005-08-11
  • 打赏
  • 举报
回复
呵呵 自己解决了~~
wxqq2001 2005-08-11
  • 打赏
  • 举报
回复
先读出来再处理不可以么?有代码么?

应该可以转化呀.String.Format不行么

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧