不确定提出这个问题的最好方法..
这个问题是在我实施数据集成服务之前,但为了知识,我需要将Excel电子表格中的数据输入到数据库中。示例列是; ID,名称和街道。
在网络表单上有3个文本框。用户将从Excel电子表格中复制ID单元格,然后将其粘贴到webform的ID文本框中。然后从Excel电子表格中复制名称单元格并将其粘贴到webform的名称文本框中......等等
我正在尝试一种方法,可以从Excel电子表格中复制整行并将其粘贴到webform上的一个文本框中。
我的第一次尝试是Split()文本并创建一个Dictionary。由于街道地址之间的空格,这不起作用。我可以将1个文本框分成3个子字符串并保持街道字段中的完整性和空间的方式是什么? Name和Street的数据类型是varchar(30)。
'Example input of Textbox1.Text "1 myName Cheesecake Factory Lane"
Dim words As String = TextBox1.Text
Dim split As String() = words.Split(New [Char]() {" "c, ","c, "."c, ":"c, CChar(vbTab)})
Dim rowData As New Dictionary(Of Integer, String)
Dim i As Integer = 0
For Each s As String In split
If s.Trim() <> "" Then
rowData.Add(i, s)
i += 1
' output text for ID would be rowData.Item(0)
'out text for Name would be rowData.Item(1)
'out text for Street would be row.Data.Item(2)
End If
Next s
答案 0 :(得分:0)
Excel在剪贴板上放置了几种数据格式。
“Text”格式用Tab分隔单元格,用Cr分隔行。您必须依赖用户突出显示正确的单元格,但您可以使用Tab(或带有vbcrLf的行)轻松拆分列。
以下是一些探索格式的代码:
Dim o As IDataObject = Clipboard.GetDataObject()
Dim a() As String = o.GetFormats ' see what formats are available
Dim x As Object = o.GetData("text") ' returns MemoryStreams so this isn't useful as written
Dim s As String = Clipboard.GetText ' just get delimited text from Excel